/** * Migrate the database through scripts in db/migrate. */ public function db_migrate($ver = null) { try { $script = array_shift($GLOBALS['argv']); $task = array_shift($GLOBALS['argv']); $version = array_shift($GLOBALS['argv']); $ver = preg_match('/VERSION=(\\d*)/', $version, $match) ? $match[1] : null; Mad_Model_Migration_Migrator::migrate(MAD_ROOT . "/db/migrate/", $ver); } catch (Exception $e) { echo $e->getMessage(); } }
public function testWithMissingVersionNumbers() { $dir = dirname(dirname(dirname(dirname(__FILE__)))) . '/fixtures/migrations_with_missing_versions/'; Mad_Model_Migration_Migrator::migrate($dir, 500); $this->assertEquals(4, Mad_Model_Migration_Migrator::getCurrentVersion()); Mad_Model_Migration_Migrator::migrate($dir, 2); $this->assertEquals(2, Mad_Model_Migration_Migrator::getCurrentVersion()); $e = null; try { $this->_conn->selectValues("SELECT * FROM reminders"); } catch (Exception $e) { } $this->assertInstanceOf('Horde_Db_Exception', $e); $user = new User(); $columns = $user->columnNames(); $this->assertTrue(in_array('last_name', $columns)); }