コード例 #1
0
 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());
 }
コード例 #2
0
 /**
  * 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);
 }
コード例 #3
0
ファイル: PgsqlPlatform.php プロジェクト: disider/Propel2
 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);
 }