protected function run2($stage)
{
$this->db->BeginTrans();
$this->console->out("Creating and initializing new fields...");
$regexp = "^Scheduler \\(TaskID: [0-9]+\\)( \\(manual\\))?\$";
try {
$this->db->Execute("\n ALTER TABLE orchestration_log\n DROP INDEX `idx_event`,\n CHANGE COLUMN `event` `type` VARCHAR(32),\n ADD COLUMN task_id INT(11) NULL COMMENT 'Scheduler task id'\n ");
$this->db->Execute("\n UPDATE orchestration_log\n SET task_id = REPLACE(SUBSTRING(`type`, 1, CHAR_LENGTH(`type`)-1), 'Scheduler (TaskID: ', '')\n WHERE `type` REGEXP ?\n ", [$regexp]);
$this->db->Execute("\n UPDATE orchestration_log\n SET `type` = CASE\n WHEN `type` = 'Manual' THEN ?\n WHEN `type` REGEXP ? THEN ?\n WHEN `type` = '' OR `type` IS NULL THEN `type`\n ELSE ?\n END\n ", [OrchestrationLog::TYPE_MANUAL, $regexp, OrchestrationLog::TYPE_SCHEDULER, OrchestrationLog::TYPE_EVENT]);
$this->db->CommitTrans();
} catch (Exception $e) {
$this->db->RollbackTrans();
throw $e;
}
}