mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-17 06:48:59 +08:00
Merge branch 'master' of github.com:yiisoft/yii2
This commit is contained in:
@@ -156,14 +156,14 @@ class Schema extends \yii\db\Schema
|
|||||||
{
|
{
|
||||||
$column = new ColumnSchema();
|
$column = new ColumnSchema();
|
||||||
|
|
||||||
$column->name = $info['COLUMN_NAME'];
|
$column->name = $info['column_name'];
|
||||||
$column->allowNull = $info['IS_NULLABLE'] == 'YES';
|
$column->allowNull = $info['is_nullable'] == 'YES';
|
||||||
$column->dbType = $info['DATA_TYPE'];
|
$column->dbType = $info['data_type'];
|
||||||
$column->enumValues = array(); // mssql has only vague equivalents to enum
|
$column->enumValues = array(); // mssql has only vague equivalents to enum
|
||||||
$column->isPrimaryKey = null; // primary key will be determined in findColumns() method
|
$column->isPrimaryKey = null; // primary key will be determined in findColumns() method
|
||||||
$column->autoIncrement = $info['IsIdentity'] == 1;
|
$column->autoIncrement = $info['is_identity'] == 1;
|
||||||
$column->unsigned = stripos($column->dbType, 'unsigned') !== false;
|
$column->unsigned = stripos($column->dbType, 'unsigned') !== false;
|
||||||
$column->comment = $info['Comment'] === null ? '' : $info['Comment'];
|
$column->comment = $info['comment'] === null ? '' : $info['comment'];
|
||||||
|
|
||||||
$column->type = self::TYPE_STRING;
|
$column->type = self::TYPE_STRING;
|
||||||
if (preg_match('/^(\w+)(?:\(([^\)]+)\))?/', $column->dbType, $matches)) {
|
if (preg_match('/^(\w+)(?:\(([^\)]+)\))?/', $column->dbType, $matches)) {
|
||||||
@@ -191,11 +191,11 @@ class Schema extends \yii\db\Schema
|
|||||||
|
|
||||||
$column->phpType = $this->getColumnPhpType($column);
|
$column->phpType = $this->getColumnPhpType($column);
|
||||||
|
|
||||||
if ($info['COLUMN_DEFAULT'] == '(NULL)') {
|
if ($info['column_default'] == '(NULL)') {
|
||||||
$info['COLUMN_DEFAULT'] = null;
|
$info['column_default'] = null;
|
||||||
}
|
}
|
||||||
if ($column->type !== 'timestamp' || $info['COLUMN_DEFAULT'] !== 'CURRENT_TIMESTAMP') {
|
if ($column->type !== 'timestamp' || $info['column_default'] !== 'CURRENT_TIMESTAMP') {
|
||||||
$column->defaultValue = $column->typecast($info['COLUMN_DEFAULT']);
|
$column->defaultValue = $column->typecast($info['column_default']);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $column;
|
return $column;
|
||||||
@@ -221,9 +221,9 @@ class Schema extends \yii\db\Schema
|
|||||||
|
|
||||||
$sql = <<<SQL
|
$sql = <<<SQL
|
||||||
SELECT
|
SELECT
|
||||||
[t1].[COLUMN_NAME], [t1].[IS_NULLABLE], [t1].[DATA_TYPE], [t1].[COLUMN_DEFAULT],
|
[t1].[column_name], [t1].[is_nullable], [t1].[data_type], [t1].[column_default],
|
||||||
COLUMNPROPERTY(OBJECT_ID([t1].[table_schema] + '.' + [t1].[table_name]), [t1].[column_name], 'IsIdentity') AS IsIdentity,
|
COLUMNPROPERTY(OBJECT_ID([t1].[table_schema] + '.' + [t1].[table_name]), [t1].[column_name], 'IsIdentity') AS is_identity,
|
||||||
CONVERT(VARCHAR, [t2].[value]) AS Comment
|
CONVERT(VARCHAR, [t2].[value]) AS comment
|
||||||
FROM {$columnsTableName} AS [t1]
|
FROM {$columnsTableName} AS [t1]
|
||||||
LEFT OUTER JOIN [sys].[extended_properties] AS [t2] ON
|
LEFT OUTER JOIN [sys].[extended_properties] AS [t2] ON
|
||||||
[t1].[ordinal_position] = [t2].[minor_id] AND
|
[t1].[ordinal_position] = [t2].[minor_id] AND
|
||||||
|
|||||||
Reference in New Issue
Block a user