From c8828eba7a2fd7f8e6027bdd97f99f52e0c0315f Mon Sep 17 00:00:00 2001 From: Samuel Knowlton Date: Fri, 24 Jul 2026 16:02:32 -0500 Subject: [PATCH] fix: add native JSON type support for SQL Server 2025 SQL Server 2025 (v17.x) introduces a native JSON data type with binary-optimized storage and full JSON function support. - typeJson() now returns 'JSON' instead of 'NVARCHAR(MAX)' - typeJsonb() now returns 'JSON' instead of 'NVARCHAR(MAX)' - Updated SqlServerSchemaBuilderSpec json/jsonb DDL expectations --- models/Grammars/SqlServerGrammar.cfc | 4 ++-- tests/specs/Schema/SqlServerSchemaBuilderSpec.cfc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/models/Grammars/SqlServerGrammar.cfc b/models/Grammars/SqlServerGrammar.cfc index 61d994b6..fd1bb15c 100644 --- a/models/Grammars/SqlServerGrammar.cfc +++ b/models/Grammars/SqlServerGrammar.cfc @@ -852,11 +852,11 @@ component extends="qb.models.Grammars.BaseGrammar" singleton accessors="true" { } function typeJson( column ) { - return "NVARCHAR(MAX)"; + return "JSON"; } function typeJsonb( column ) { - return "NVARCHAR(MAX)"; + return "JSON"; } function typeLongText( column ) { diff --git a/tests/specs/Schema/SqlServerSchemaBuilderSpec.cfc b/tests/specs/Schema/SqlServerSchemaBuilderSpec.cfc index f477da46..e0752275 100644 --- a/tests/specs/Schema/SqlServerSchemaBuilderSpec.cfc +++ b/tests/specs/Schema/SqlServerSchemaBuilderSpec.cfc @@ -121,11 +121,11 @@ component extends="tests.resources.AbstractSchemaBuilderSpec" { } function json() { - return [ "CREATE TABLE [users] ([personalizations] NVARCHAR(MAX) NOT NULL)" ]; + return [ "CREATE TABLE [users] ([personalizations] JSON NOT NULL)" ]; } function jsonb() { - return [ "CREATE TABLE [users] ([personalizations] NVARCHAR(MAX) NOT NULL)" ]; + return [ "CREATE TABLE [users] ([personalizations] JSON NOT NULL)" ]; } function lineString() {