From d29fe0dbc7d9aaca4a6edde1dbd5a5a36d62dda8 Mon Sep 17 00:00:00 2001 From: William Moll Date: Fri, 25 Aug 2023 12:16:10 -0500 Subject: [PATCH] Update SQLServerPlatform default clob type from varchar to nvarchar --- src/Platforms/SQLServerPlatform.php | 2 +- tests/Platforms/SQLServerPlatformTest.php | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/Platforms/SQLServerPlatform.php b/src/Platforms/SQLServerPlatform.php index 03a1e8c406d..b3bbefda7f0 100644 --- a/src/Platforms/SQLServerPlatform.php +++ b/src/Platforms/SQLServerPlatform.php @@ -1354,7 +1354,7 @@ public function getBinaryMaxLength() */ public function getClobTypeDeclarationSQL(array $column) { - return 'VARCHAR(MAX)'; + return 'NVARCHAR(MAX)'; } /** diff --git a/tests/Platforms/SQLServerPlatformTest.php b/tests/Platforms/SQLServerPlatformTest.php index a7483736d2b..5946fd322b8 100644 --- a/tests/Platforms/SQLServerPlatformTest.php +++ b/tests/Platforms/SQLServerPlatformTest.php @@ -126,9 +126,9 @@ public function testGeneratesTypeDeclarationsForStrings(): void 'NVARCHAR(255)', $this->platform->getStringTypeDeclarationSQL([]), ); - self::assertSame('VARCHAR(MAX)', $this->platform->getClobTypeDeclarationSQL([])); + self::assertSame('NVARCHAR(MAX)', $this->platform->getClobTypeDeclarationSQL([])); self::assertSame( - 'VARCHAR(MAX)', + 'NVARCHAR(MAX)', $this->platform->getClobTypeDeclarationSQL(['length' => 5, 'fixed' => true]), ); } @@ -747,7 +747,7 @@ public function getAlterTableColumnCommentsSQL(): array public function getCreateTableColumnTypeCommentsSQL(): array { return [ - 'CREATE TABLE test (id INT NOT NULL, data VARCHAR(MAX) NOT NULL, PRIMARY KEY (id))', + 'CREATE TABLE test (id INT NOT NULL, data NVARCHAR(MAX) NOT NULL, PRIMARY KEY (id))', "EXEC sp_addextendedproperty N'MS_Description', N'(DC2Type:array)', " . "N'SCHEMA', 'dbo', N'TABLE', 'test', N'COLUMN', data", ]; @@ -786,8 +786,8 @@ public function testGeneratesCreateTableSQLWithColumnComments(): void . 'comment INT NOT NULL, ' . '[comment_quoted] INT NOT NULL, ' . '[create] INT NOT NULL, ' - . 'commented_type VARCHAR(MAX) NOT NULL, ' - . 'commented_type_with_comment VARCHAR(MAX) NOT NULL, ' + . 'commented_type NVARCHAR(MAX) NOT NULL, ' + . 'commented_type_with_comment NVARCHAR(MAX) NOT NULL, ' . 'comment_with_string_literal_char NVARCHAR(255) NOT NULL, ' . 'PRIMARY KEY (id))', "EXEC sp_addextendedproperty N'MS_Description', " @@ -994,14 +994,14 @@ public function testGeneratesAlterTableSQLWithColumnComments(): void 'ALTER TABLE mytable ADD added_comment INT NOT NULL', 'ALTER TABLE mytable ADD [added_comment_quoted] INT NOT NULL', 'ALTER TABLE mytable ADD [select] INT NOT NULL', - 'ALTER TABLE mytable ADD added_commented_type VARCHAR(MAX) NOT NULL', - 'ALTER TABLE mytable ADD added_commented_type_with_comment VARCHAR(MAX) NOT NULL', + 'ALTER TABLE mytable ADD added_commented_type NVARCHAR(MAX) NOT NULL', + 'ALTER TABLE mytable ADD added_commented_type_with_comment NVARCHAR(MAX) NOT NULL', 'ALTER TABLE mytable ADD added_comment_with_string_literal_char NVARCHAR(255) NOT NULL', 'ALTER TABLE mytable DROP COLUMN comment_integer_0', 'ALTER TABLE mytable ALTER COLUMN comment_null NVARCHAR(255) NOT NULL', - 'ALTER TABLE mytable ALTER COLUMN comment_empty_string VARCHAR(MAX) NOT NULL', - 'ALTER TABLE mytable ALTER COLUMN [comment_quoted] VARCHAR(MAX) NOT NULL', - 'ALTER TABLE mytable ALTER COLUMN [create] VARCHAR(MAX) NOT NULL', + 'ALTER TABLE mytable ALTER COLUMN comment_empty_string NVARCHAR(MAX) NOT NULL', + 'ALTER TABLE mytable ALTER COLUMN [comment_quoted] NVARCHAR(MAX) NOT NULL', + 'ALTER TABLE mytable ALTER COLUMN [create] NVARCHAR(MAX) NOT NULL', 'ALTER TABLE mytable ALTER COLUMN commented_type INT NOT NULL', // Added columns.