protected function _getUpSql($migrationId = null) { $out = array(); $actualMigrationId = $this->_getActualMigrations(); if ($migrationId && !in_array($migrationId, $actualMigrationId) && !in_array($migrationId, array_map(function ($item) { return substr($item, 0, 14); }, $actualMigrationId))) { $this->_writeError('Wrong Migration ID: ' . $migrationId); } foreach ($actualMigrationId as $currentMigrationId) { preg_match('/^(\\d{14})/', $currentMigrationId, $s); $currentMigrationIdOnlyDigits = $s[1]; if ($migrationId && $currentMigrationIdOnlyDigits > $migrationId) { continue; } $migration = new Migration($currentMigrationId); if ($migration->isSkip()) { continue; } $out[] = array('migrationId' => $migration->getMigrationId(), 'sql' => $migration->getUpSql(), 'description' => $migration->getDescription()); } return $out; }