Example #1
0
 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;
 }