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); }
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); }