diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index dcc11495c7..0a4c828e72 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -50,6 +50,7 @@ Yii Framework 2 Change Log - Bug #4408: Add support for unicode word characters and `+` character in attribute names (sammousa, kmindi) - Bug #10372: Fixed console controller including complex typed arguments in help (sammousa) - Bug #13738: Fixed `getQueryParams()` method in `yii.js` to correctly parse URL with question mark and no query parameters (vladdnepr) +- Bug #13776: Fixed setting precision and scale for decimal columns in MSSQL (arturf) - Bug #13704: Fixed `yii\validators\UniqueValidator` to prefix attribute name with model's database table name (vladis84) 2.0.11.2 February 08, 2017 diff --git a/framework/db/mssql/QueryBuilder.php b/framework/db/mssql/QueryBuilder.php index 30a7ac1131..693e0ab077 100644 --- a/framework/db/mssql/QueryBuilder.php +++ b/framework/db/mssql/QueryBuilder.php @@ -35,7 +35,7 @@ class QueryBuilder extends \yii\db\QueryBuilder Schema::TYPE_BIGINT => 'bigint', Schema::TYPE_FLOAT => 'float', Schema::TYPE_DOUBLE => 'float', - Schema::TYPE_DECIMAL => 'decimal', + Schema::TYPE_DECIMAL => 'decimal(18,0)', Schema::TYPE_DATETIME => 'datetime', Schema::TYPE_TIMESTAMP => 'datetime', Schema::TYPE_TIME => 'time', diff --git a/tests/framework/db/QueryBuilderTest.php b/tests/framework/db/QueryBuilderTest.php index b34081c0fa..3312bd75fd 100644 --- a/tests/framework/db/QueryBuilderTest.php +++ b/tests/framework/db/QueryBuilderTest.php @@ -299,7 +299,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase 'postgres' => 'numeric(10,0) CHECK (value > 5.6)', 'sqlite' => 'decimal(10,0) CHECK (value > 5.6)', 'oci' => 'NUMBER CHECK (value > 5.6)', - 'sqlsrv' => 'decimal CHECK (value > 5.6)', + 'sqlsrv' => 'decimal(18,0) CHECK (value > 5.6)', 'cubrid' => 'decimal(10,0) CHECK (value > 5.6)', ], ], @@ -311,7 +311,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase 'postgres' => 'numeric(10,0) NOT NULL', 'sqlite' => 'decimal(10,0) NOT NULL', 'oci' => 'NUMBER NOT NULL', - 'sqlsrv' => 'decimal NOT NULL', + 'sqlsrv' => 'decimal(18,0) NOT NULL', 'cubrid' => 'decimal(10,0) NOT NULL', ], ], @@ -323,7 +323,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase 'postgres' => 'numeric(12,4) CHECK (value > 5.6)', 'sqlite' => 'decimal(12,4) CHECK (value > 5.6)', 'oci' => 'NUMBER CHECK (value > 5.6)', - 'sqlsrv' => 'decimal CHECK (value > 5.6)', + 'sqlsrv' => 'decimal(12,4) CHECK (value > 5.6)', 'cubrid' => 'decimal(12,4) CHECK (value > 5.6)', ], ], @@ -335,7 +335,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase 'postgres' => 'numeric(12,4)', 'sqlite' => 'decimal(12,4)', 'oci' => 'NUMBER', - 'sqlsrv' => 'decimal', + 'sqlsrv' => 'decimal(12,4)', 'cubrid' => 'decimal(12,4)', ], ], @@ -347,7 +347,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase 'postgres' => 'numeric(10,0)', 'sqlite' => 'decimal(10,0)', 'oci' => 'NUMBER', - 'sqlsrv' => 'decimal', + 'sqlsrv' => 'decimal(18,0)', 'cubrid' => 'decimal(10,0)', ], ],