public function testAddRemoveSingleField() { $user = new User(); $this->assertFalse(in_array('last_name', $user->columnNames())); $this->_conn->addColumn('users', 'last_name', 'string'); $user->resetColumnInformation(); $this->assertTrue(in_array('last_name', $user->columnNames())); $this->_conn->removeColumn('users', 'last_name'); $user->resetColumnInformation(); $this->assertFalse(in_array('last_name', $user->columnNames())); }
public function testMigratorGoingDownDueToVersionTarget() { $dir = dirname(dirname(dirname(dirname(__FILE__)))) . '/fixtures/migrations/'; Mad_Model_Migration_Migrator::up($dir, 1); Mad_Model_Migration_Migrator::down($dir, 0); $user = new User(); $columns = $user->columnNames(); $this->assertFalse(in_array('last_name', $columns)); $e = null; try { $this->_conn->selectValues("SELECT * FROM reminders"); } catch (Exception $e) { } $this->assertInstanceOf('Horde_Db_Exception', $e); Mad_Model_Migration_Migrator::up($dir); $user->resetColumnInformation(); $columns = $user->columnNames(); $this->assertTrue(in_array('last_name', $columns)); $result = Reminder::create(array('content' => 'hello world', 'remind_at' => '2005-01-01 02:22:23')); $reminder = Reminder::find('first'); $this->assertEquals('hello world', $reminder->content); }