コード例 #1
0
 public static function getColumnDefinition(\blaze\ds\meta\ColumnMetaData $column, $newName = null, $nullable = true, $default = true, $sequence = true, $primary = true, $unique = true, $comment = true)
 {
     if ($newName === null) {
         $query = $column->getName() . ' ' . $column->getComposedNativeType();
     } else {
         $query = $newName . ' ' . $column->getComposedNativeType();
     }
     if ($nullable && !$column->isNullable()) {
         $query .= ' NOT NULL';
     }
     if ($default && $column->getDefault() !== null) {
         $query .= ' DEFAULT ' . $column->getDefault();
     }
     if ($sequence && $column->getSequence() !== null) {
         $query .= ' AUTO_INCREMENT';
     }
     if ($primary && $column->isPrimaryKey()) {
         $query .= ' PRIMARY KEY';
     } else {
         if ($unique && $column->isUniqueKey()) {
             $query .= ' UNIQUE KEY';
         }
     }
     if ($comment && $column->getComment() !== null) {
         $query .= ' COMMENT \'' . $column->getComment() . '\'';
     }
     return $query;
 }