Example #1
0
 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()));
 }
Example #2
0
 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);
 }