public function testGetSizeDefinition() { $domain = $this->getDomainMock(); $domain->expects($this->once())->method('getSizeDefinition')->will($this->returnValue('(10,2)')); $column = new Column(); $column->setDomain($domain); $this->assertSame('(10,2)', $column->getSizeDefinition()); }
/** * Builds the DDL SQL for a Column object. * @return string */ public function getColumnDDL(Column $col) { $domain = $col->getDomain(); $ddl = array($this->quoteIdentifier($col->getName())); $sqlType = $domain->getSqlType(); if ($this->hasSize($sqlType) && $col->isDefaultSqlType($this)) { $ddl[] = $sqlType . $col->getSizeDefinition(); } else { $ddl[] = $sqlType; } if ($default = $this->getColumnDefaultValueDDL($col)) { $ddl[] = $default; } if ($notNull = $this->getNullString($col->isNotNull())) { $ddl[] = $notNull; } if ($autoIncrement = $col->getAutoIncrementString()) { $ddl[] = $autoIncrement; } return implode(' ', $ddl); }
public function getColumnDDL(Column $col) { $domain = $col->getDomain(); $ddl = [$this->quoteIdentifier($col->getName())]; $sqlType = $domain->getSqlType(); $table = $col->getTable(); if ($col->isAutoIncrement() && $table && $table->getIdMethodParameters() == null) { $sqlType = $col->getType() === PropelTypes::BIGINT ? 'bigserial' : 'serial'; } if ($this->hasSize($sqlType) && $col->isDefaultSqlType($this)) { if ($this->isNumber($sqlType)) { if ('NUMERIC' === strtoupper($sqlType)) { $ddl[] = $sqlType . $col->getSizeDefinition(); } else { $ddl[] = $sqlType; } } else { $ddl[] = $sqlType . $col->getSizeDefinition(); } } else { $ddl[] = $sqlType; } if ($default = $this->getColumnDefaultValueDDL($col)) { $ddl[] = $default; } if ($notNull = $this->getNullString($col->isNotNull())) { $ddl[] = $notNull; } if ($autoIncrement = $col->getAutoIncrementString()) { $ddl[] = $autoIncrement; } return implode(' ', $ddl); }