Esempio n. 1
0
 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]);
     }
 }
Esempio n. 3
0
 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]);
     }
 }
Esempio n. 5
0
 /**
  * @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());
 }