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 testTimestampWithTimezone() { $table = new \Phinx\Db\Table('tztable', array('id' => false), $this->adapter); $table->addColumn('timestamp_tz', 'timestamp', array('timezone' => true))->addColumn('time_tz', 'time', array('timezone' => true))->addColumn('date_notz', 'date', array('timezone' => true))->addColumn('time_notz', 'timestamp')->save(); $this->assertTrue($this->adapter->hasColumn('tztable', 'timestamp_tz')); $this->assertTrue($this->adapter->hasColumn('tztable', 'time_tz')); $this->assertTrue($this->adapter->hasColumn('tztable', 'date_notz')); $this->assertTrue($this->adapter->hasColumn('tztable', 'time_notz')); $columns = $this->adapter->getColumns('tztable'); foreach ($columns as $column) { if (substr($column->getName(), -4) === 'notz') { $this->assertFalse($column->isTimezone(), 'column: ' . $column->getName()); } else { $this->assertTrue($column->isTimezone(), 'column: ' . $column->getName()); } } }