Scalr\Upgrade\Updates\Update20160212110643::run2 PHP Метод

run2() защищенный Метод

protected run2 ( $stage )
    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;
        }
    }