public function testAddColumnWithComment() { $table = new \Phinx\Db\Table('table1', array(), $this->adapter); $table->addColumn('column1', 'string', array('comment' => $comment = 'Comments from "column1"'))->save(); $rows = $this->adapter->fetchAll('SELECT column_name, column_comment FROM information_schema.columns WHERE table_name = "table1"'); $columnWithComment = $rows[1]; $this->assertEquals($comment, $columnWithComment['column_comment'], 'Dont set column comment correctly'); }
public function testInserDataEnum() { $table = new \Phinx\Db\Table('table1', array(), $this->adapter); $table->addColumn('column1', 'enum', array('values' => ['a', 'b', 'c']))->addColumn('column2', 'enum', array('values' => ['a', 'b', 'c'], 'null' => true))->addColumn('column3', 'enum', array('values' => ['a', 'b', 'c'], 'default' => 'c'))->insert(array('column1' => 'a'))->save(); $rows = $this->adapter->fetchAll('SELECT * FROM table1'); $this->assertEquals('a', $rows[0]['column1']); $this->assertEquals(null, $rows[0]['column2']); $this->assertEquals('c', $rows[0]['column3']); }
public function testAddEnumColumn() { $table = new \Phinx\Db\Table('table1', array(), $this->adapter); $table->save(); $this->assertFalse($table->hasColumn('enum_column')); $table->addColumn('enum_column', 'enum', array('values' => array('one', 'two')))->save(); $rows = $this->adapter->fetchAll('SHOW COLUMNS FROM table1'); $this->assertEquals("enum('one','two')", $rows[1]['Type']); }
public function testChangeColumnDefaultToNull() { $table = new \Phinx\Db\Table('t', array(), $this->adapter); $table->addColumn('column1', 'string', array('default' => 'test'))->save(); $newColumn1 = new \Phinx\Db\Table\Column(); $newColumn1->setDefault(null)->setType('string'); $table->changeColumn('column1', $newColumn1); $rows = $this->adapter->fetchAll('SHOW COLUMNS FROM t'); $this->assertNull($rows[1]['Default']); }
public function testInsertData() { $table = new \Phinx\Db\Table('table1', array(), $this->adapter); $table->addColumn('column1', 'string')->addColumn('column2', 'integer')->insert(array("column1", "column2"), array(array('value1', 1), array('value2', 2)))->save(); $rows = $this->adapter->fetchAll('SELECT * FROM table1'); $this->assertEquals('value1', $rows[0]['column1']); $this->assertEquals('value2', $rows[1]['column1']); $this->assertEquals(1, $rows[0]['column2']); $this->assertEquals(2, $rows[1]['column2']); }
public function testAddColumnWithComment() { $table = new \Phinx\Db\Table('table1', array(), $this->adapter); $table->addColumn('column1', 'string', array('comment' => $comment = 'Comments from "column1"'))->save(); $rows = $this->adapter->fetchAll('select * from sqlite_master where `type` = \'table\''); foreach ($rows as $row) { if ($row['tbl_name'] == 'table1') { $sql = $row['sql']; } } $this->assertRegExp('/\\/\\* Comments from "column1" \\*\\//', $sql); }
public function testInsertData() { $data = array(array('column1' => 'value1', 'column2' => 1), array('column1' => 'value2', 'column2' => 2), array('column1' => 'value3', 'column2' => 3, 'column3' => 'foo')); $table = new \Phinx\Db\Table('table1', array(), $this->adapter); $table->addColumn('column1', 'string')->addColumn('column2', 'integer')->addColumn('column3', 'string', array('default' => 'test'))->insert($data)->save(); $rows = $this->adapter->fetchAll('SELECT * FROM table1'); $this->assertEquals('value1', $rows[0]['column1']); $this->assertEquals('value2', $rows[1]['column1']); $this->assertEquals('value3', $rows[2]['column1']); $this->assertEquals(1, $rows[0]['column2']); $this->assertEquals(2, $rows[1]['column2']); $this->assertEquals(3, $rows[2]['column2']); $this->assertEquals('test', $rows[0]['column3']); $this->assertEquals('foo', $rows[2]['column3']); }