コード例 #1
0
ファイル: Schema.php プロジェクト: pkdevboxy/df-core
 /**
  * Creates a table column.
  *
  * @param array $column column metadata
  *
  * @return ColumnSchema normalized column metadata
  */
 protected function createColumn($column)
 {
     $c = new ColumnSchema(['name' => $column['name']]);
     $c->rawName = $this->quoteColumnName($c->name);
     $c->allowNull = $column['is_nullable'] == '1';
     $c->isPrimaryKey = $column['is_primary_key'] == '1';
     $c->isUnique = $column['is_unique'] == '1';
     $c->isIndex = $column['constraint_name'] !== null;
     $c->dbType = $column['type'];
     if ($column['precision'] !== '0') {
         if ($column['scale'] !== '0') {
             // We have a numeric datatype
             $c->precision = (int) $column['precision'];
             $c->scale = (int) $column['scale'];
         } else {
             $c->size = (int) $column['precision'];
         }
     } else {
         $c->size = $column['max_length'] !== '-1' ? (int) $column['max_length'] : null;
     }
     $c->autoIncrement = $column['is_identity'] === '1';
     $c->comment = isset($column['Comment']) ? $column['Comment'] === null ? '' : $column['Comment'] : '';
     $c->extractFixedLength($column['type']);
     $c->extractMultiByteSupport($column['type']);
     $c->extractType($column['type']);
     if (isset($column['default_definition'])) {
         $c->extractDefault($column['default_definition']);
     }
     return $c;
 }
コード例 #2
0
ファイル: Schema.php プロジェクト: rajeshpillai/df-core
 /**
  * @param ColumnSchema $field_info
  * @param bool         $as_quoted_string
  * @param string       $out_as
  *
  * @return string
  */
 public function parseFieldForSelect($field_info, $as_quoted_string = false, $out_as = null)
 {
     $field = $as_quoted_string ? $this->quoteColumnName($field_info->name) : $field_info->name;
     $alias = $as_quoted_string ? $this->quoteColumnName($field_info->getName(true)) : $field_info->getName(true);
     switch ($field_info->dbType) {
         case 'datetime':
         case 'datetimeoffset':
             return "(CONVERT(nvarchar(30), {$field}, 127)) AS {$alias}";
         case 'geometry':
         case 'geography':
         case 'hierarchyid':
             return "({$field}.ToString()) AS {$alias}";
         default:
             return parent::parseFieldForSelect($field_info, $as_quoted_string, $out_as);
     }
 }