Пример #1
0
 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');
 }
Пример #2
0
 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']);
 }
Пример #3
0
 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']);
 }
Пример #4
0
 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']);
 }
Пример #5
0
 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']);
 }
Пример #6
0
 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);
 }
Пример #7
0
 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']);
 }