/** * Create a new table * * @param string $name * @return void */ public static function createTable($name) { $table = new CreateTable($name); // Primary column $primaryColumn = new Integer('id'); $primaryColumn->setOption('autoincrement', ''); $table->addColumn($primaryColumn); $table->addConstraint(new PrimaryKey('id')); // Status column $statusColumn = new Boolean(STATUS_COLUMN_NAME); $statusColumn->setDefault(STATUS_DRAFT_NUM); $table->addColumn($statusColumn); $connection = Bootstrap::get('ZendDb'); $sql = new Sql($connection); $connection->query($sql->getSqlStringForSqlObject($table), $connection::QUERY_MODE_EXECUTE); }
/** * Adds default option. */ public function getExpressionData() { $data = parent::getExpressionData(); if ($this->default !== null) { $data[0][0] .= ' DEFAULT %s'; $data[0][1][] = $this->default; $data[0][2][] = self::TYPE_VALUE; } return $data; }
/** * * @param unknown $name * @param string $default */ public function __construct($name, $nullable = false, $default = null) { $this->setDefault($default); $this->setNullable($nullable); parent::__construct($name); }
/** * @covers Zend\Db\Sql\Ddl\Column\Boolean::getExpressionData */ public function testGetExpressionData() { $column = new Boolean('foo'); $this->assertEquals(array(array('%s TINYINT NOT NULL', array('foo'), array($column::TYPE_IDENTIFIER))), $column->getExpressionData()); }