/** * Primary task entry point * * @param array $args The current supplied options. */ public function execute($args) { $output = "Started: " . date('Y-m-d g:ia T') . "\n\n"; $output .= "[db:status]: \n"; $util = new Ruckusing_Util_Migrator($this->_adapter); $migrations = $util->get_executed_migrations(); $files = $util->get_migration_files($this->get_framework()->migrations_directory(), 'up'); $applied = array(); $not_applied = array(); foreach ($files as $file) { if (in_array($file['version'], $migrations)) { $applied[] = $file['class'] . ' [ ' . $file['version'] . ' ]'; } else { $not_applied[] = $file['class'] . ' [ ' . $file['version'] . ' ]'; } } if (count($applied) > 0) { $output .= $this->_displayMigrations($applied, 'APPLIED'); } if (count($not_applied) > 0) { $output .= $this->_displayMigrations($not_applied, 'NOT APPLIED'); } $output .= "\n\nFinished: " . date('Y-m-d g:ia T') . "\n\n"; return $output; }
/** * test resolve current version going down */ public function test_resolve_current_version_going_down() { $this->clear_dummy_data(); $this->insert_dummy_version_data(array(1, 2, 3)); $migrator_util = new Ruckusing_Util_Migrator($this->adapter); $migrator_util->resolve_current_version(3, 'down'); $executed = $migrator_util->get_executed_migrations(); $this->assertEquals(false, in_array(3, $executed)); $this->assertEquals(true, in_array(1, $executed)); $this->assertEquals(true, in_array(2, $executed)); }