public function down()
 {
     $artists = $this->table('artists');
     $artists->dropForeignKey('user_id')->removeColumn('user_id')->save();
     $definition = new Phinx\Db\Table\Column();
     $definition->setType('integer');
     $definition->setLimit('10');
     $users = $this->table('users');
     $users->changeColumn('id', $definition);
 }
Ejemplo n.º 2
0
 public function testAddColumnWithAnInvalidColumnType()
 {
     try {
         $adapter = new MysqlAdapter(array());
         $column = new \Phinx\Db\Table\Column();
         $column->setType('badtype');
         $table = new \Phinx\Db\Table('ntable', array(), $adapter);
         $table->addColumn($column);
     } catch (\InvalidArgumentException $e) {
         $this->assertInstanceOf('InvalidArgumentException', $e, 'Expected exception of type InvalidArgumentException, got ' . get_class($e));
         $this->assertRegExp('/^An invalid column type /', $e->getMessage());
     }
 }
Ejemplo n.º 3
0
 public function testChangeColumn()
 {
     $table = new \Phinx\Db\Table('t', array(), $this->adapter);
     $table->addColumn('column1', 'string')->save();
     $this->assertTrue($this->adapter->hasColumn('t', 'column1'));
     $newColumn1 = new \Phinx\Db\Table\Column();
     $newColumn1->setType('string');
     $table->changeColumn('column1', $newColumn1);
     $this->assertTrue($this->adapter->hasColumn('t', 'column1'));
     $newColumn2 = new \Phinx\Db\Table\Column();
     $newColumn2->setName('column2')->setType('string')->setNull(true);
     $table->changeColumn('column1', $newColumn2);
     $this->assertFalse($this->adapter->hasColumn('t', 'column1'));
     $this->assertTrue($this->adapter->hasColumn('t', 'column2'));
     $columns = $this->adapter->getColumns('t');
     foreach ($columns as $column) {
         if ($column->getName() == 'column2') {
             $this->assertTrue($column->isNull());
         }
     }
 }
Ejemplo n.º 4
0
 public function testChangeColumn()
 {
     $table = new \Phinx\Db\Table('t', array(), $this->adapter);
     $table->addColumn('column1', 'string')->save();
     $this->assertTrue($this->adapter->hasColumn('t', 'column1'));
     $newColumn1 = new \Phinx\Db\Table\Column();
     $newColumn1->setType('string');
     $table->changeColumn('column1', $newColumn1);
     $this->assertTrue($this->adapter->hasColumn('t', 'column1'));
     $newColumn2 = new \Phinx\Db\Table\Column();
     $newColumn2->setName('column2')->setType('string');
     $table->changeColumn('column1', $newColumn2);
     $this->assertFalse($this->adapter->hasColumn('t', 'column1'));
     $this->assertTrue($this->adapter->hasColumn('t', 'column2'));
 }
 public function testChangeColumnDefaultToZero()
 {
     $table = new \Phinx\Db\Table('t', array(), $this->adapter);
     $table->addColumn('column1', 'integer')->save();
     $newColumn1 = new \Phinx\Db\Table\Column();
     $newColumn1->setType('string')->setDefault(0);
     $table->changeColumn('column1', $newColumn1);
     $columns = $this->adapter->getColumns('t');
     $this->assertSame(0, $columns['column1']->getDefault());
 }