public function testAddColumnWithColumnObject() { $adapter = new MysqlAdapter(array()); $column = new \Phinx\Db\Table\Column(); $column->setName('email')->setType('integer'); $table = new \Phinx\Db\Table('ntable', array(), $adapter); $table->addColumn($column); $columns = $table->getPendingColumns(); $this->assertEquals('email', $columns[0]->getName()); $this->assertEquals('integer', $columns[0]->getType()); }
public function testGetColumns() { $table = new \Phinx\Db\Table('t', array(), $this->adapter); $table->addColumn('column1', 'string')->addColumn('column2', 'integer')->addColumn('column3', 'biginteger')->addColumn('column4', 'text')->addColumn('column5', 'float')->addColumn('column6', 'decimal')->addColumn('column7', 'time')->addColumn('column8', 'timestamp')->addColumn('column9', 'date')->addColumn('column10', 'boolean')->addColumn('column11', 'datetime')->addColumn('column12', 'binary')->addColumn('column13', 'string', array('limit' => 10)); $pendingColumns = $table->getPendingColumns(); $table->save(); $columns = $this->adapter->getColumns('t'); $this->assertCount(count($pendingColumns) + 1, $columns); for ($i = 0; $i++; $i < count($pendingColumns)) { $this->assertEquals($pendingColumns[$i], $columns[$i + 1]); } }
public function testAddTimestamps() { $adapter = new MysqlAdapter(array()); $table = new \Phinx\Db\Table('ntable', array(), $adapter); $table->addTimestamps(); $columns = $table->getPendingColumns(); $this->assertEquals('created_at', $columns[0]->getName()); $this->assertEquals('timestamp', $columns[0]->getType()); $this->assertEquals('CURRENT_TIMESTAMP', $columns[0]->getDefault()); $this->assertEquals('', $columns[0]->getUpdate()); $this->assertEquals('updated_at', $columns[1]->getName()); $this->assertEquals('timestamp', $columns[1]->getType()); $this->assertTrue($columns[1]->isNull()); $this->assertNull($columns[1]->getDefault()); }
public function testGetColumnsReservedTableName() { $table = new \Phinx\Db\Table('group', array(), $this->adapter); $table->addColumn('column1', 'string')->addColumn('column2', 'integer')->addColumn('column3', 'biginteger')->addColumn('column4', 'text')->addColumn('column5', 'float')->addColumn('column6', 'decimal')->addColumn('column7', 'datetime')->addColumn('column8', 'time')->addColumn('column9', 'timestamp')->addColumn('column10', 'date')->addColumn('column11', 'binary')->addColumn('column12', 'boolean')->addColumn('column13', 'string', array('limit' => 10))->addColumn('column15', 'integer', array('limit' => 10))->addColumn('column16', 'geometry')->addColumn('column17', 'point')->addColumn('column18', 'linestring')->addColumn('column19', 'polygon')->addColumn('column20', 'uuid')->addColumn('column21', 'set', array('values' => "one, two"))->addColumn('column22', 'enum', array('values' => array('three', 'four'))); $pendingColumns = $table->getPendingColumns(); $table->save(); $columns = $this->adapter->getColumns('group'); $this->assertCount(count($pendingColumns) + 1, $columns); for ($i = 0; $i++; $i < count($pendingColumns)) { $this->assertEquals($pendingColumns[$i], $columns[$i + 1]); } }
/** * @dataProvider provideTimestampColumnNames * * @param AdapterInterface $adapter * @param string|null $createdAtColumnName * @param string|null $updatedAtColumnName * @param string $expectedCreatedAtColumnName * @param string $expectedUpdatedAtColumnName */ public function testAddTimestamps(AdapterInterface $adapter, $createdAtColumnName, $updatedAtColumnName, $expectedCreatedAtColumnName, $expectedUpdatedAtColumnName) { $table = new \Phinx\Db\Table('ntable', [], $adapter); $table->addTimestamps($createdAtColumnName, $updatedAtColumnName); $columns = $table->getPendingColumns(); $this->assertEquals($expectedCreatedAtColumnName, $columns[0]->getName()); $this->assertEquals('timestamp', $columns[0]->getType()); $this->assertEquals('CURRENT_TIMESTAMP', $columns[0]->getDefault()); $this->assertEquals('', $columns[0]->getUpdate()); $this->assertEquals($expectedUpdatedAtColumnName, $columns[1]->getName()); $this->assertEquals('timestamp', $columns[1]->getType()); $this->assertEquals('', $columns[1]->getUpdate()); $this->assertTrue($columns[1]->isNull()); $this->assertNull($columns[1]->getDefault()); }