Ejemplo n.º 1
0
 public static function migration_files($directory, $direction, $current, $destination)
 {
     $migrations = MigratorUtil::get_migration_files($direction, $directory, true);
     if (empty($migrations)) {
         throw new Exception("Error: not able to get migrations in {$directory}");
     }
     return MigratorUtil::get_relevant_files($direction, $migrations, $current, $destination);
 }
Ejemplo n.º 2
0
 public function test_get_relevant_migration_files_down()
 {
     $down_files = MigratorUtil::get_migration_files('down', MIGRATION_DIR, true);
     $actual_down_files = MigratorUtil::get_relevant_files('down', $down_files, 3, 0);
     $expect_down_files = array(array('version' => 3, 'class' => 'AddIndexToBlogs', 'file' => '003_AddIndexToBlogs.php'), array('version' => 1, 'class' => 'CreateUsers', 'file' => '001_CreateUsers.php'));
     $this->assertEquals($expect_down_files, $actual_down_files);
     $actual_down_files = MigratorUtil::get_relevant_files('down', $down_files, 2, 0);
     $expect_down_files = array(array('version' => 1, 'class' => 'CreateUsers', 'file' => '001_CreateUsers.php'));
     $this->assertEquals($expect_down_files, $actual_down_files);
     $actual_down_files = MigratorUtil::get_relevant_files('down', $down_files, 3, 2);
     $expect_down_files = array(array('version' => 3, 'class' => 'AddIndexToBlogs', 'file' => '003_AddIndexToBlogs.php'));
     $this->assertEquals($expect_down_files, $actual_down_files);
 }
Ejemplo n.º 3
0
 private function migrate_down($destination, $current)
 {
     try {
         echo "\tMigrating DOWN to: {$destination} (current version: {$current})\n";
         $migrations = MigratorUtil::migration_files(MIGRATION_DIR, 'down', $current, $destination);
         $result = $this->run_migrations($migrations, 'down', $destination);
         if (count($migrations) == 0) {
             return "\nNo relevant migrations to run. Exiting...\n";
         }
     } catch (Exception $ex) {
         throw $ex;
     }
 }