Exemplo n.º 1
0
 public function migrate($target_name = null, $target_version = null)
 {
     $executed_migrations = new MigrationList();
     $direction = $this->getDirection($target_name, $target_version);
     if (!$direction) {
         return $executed_migrations;
     }
     $target_version = is_null($target_version) ? $this->getDefaultTargetVersion($target_name, $direction) : $target_version;
     if ($direction === MigrationInterface::MIGRATE_UP) {
         $migrations = $this->getPendingMigrations($target_name, $target_version);
     } else {
         $migrations = $this->getExecutedMigrations($target_name, $target_version);
     }
     foreach ($migrations as $migration) {
         $migration->migrate($this->getMigrationTarget($target_name), $direction);
         $executed_migrations->push($migration);
     }
     return $executed_migrations;
 }