From 75688a2e7a73a5a10b5f5c0318dcbc48d7b1bf03 Mon Sep 17 00:00:00 2001 From: Charlie Kolb Date: Tue, 28 Oct 2025 16:53:23 +0100 Subject: [PATCH] without stringify --- packages/@n8n/db/src/migrations/dsl/column.ts | 6 ++++++ .../src/modules/data-table/data-table-rows.repository.ts | 4 ++-- packages/cli/src/modules/data-table/utils/sql-utils.ts | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/@n8n/db/src/migrations/dsl/column.ts b/packages/@n8n/db/src/migrations/dsl/column.ts index 6c09bc868cb..f09236280b1 100644 --- a/packages/@n8n/db/src/migrations/dsl/column.ts +++ b/packages/@n8n/db/src/migrations/dsl/column.ts @@ -7,6 +7,7 @@ export class Column { | 'varchar' | 'text' | 'json' + | 'jsonb' | 'timestamptz' | 'timestamp' | 'uuid' @@ -73,6 +74,11 @@ export class Column { return this; } + get jsonb() { + this.type = 'jsonb'; + return this; + } + /** * @deprecated use `timestampTimezone` instead **/ diff --git a/packages/cli/src/modules/data-table/data-table-rows.repository.ts b/packages/cli/src/modules/data-table/data-table-rows.repository.ts index 421fd701e7f..e81e321d4b0 100644 --- a/packages/cli/src/modules/data-table/data-table-rows.repository.ts +++ b/packages/cli/src/modules/data-table/data-table-rows.repository.ts @@ -80,10 +80,10 @@ function getConditionAndParams( } // For filters, we let TypeORM handle date conversion through parameterized queries. - let value = filter.value; + const value = filter.value; let postfix = ''; if (typeof value === 'object' && !(value instanceof Date)) { - value = JSON.stringify(value); + // value = JSON.stringify(value); if (dbType === 'postgres') { postfix = '::jsonb'; } diff --git a/packages/cli/src/modules/data-table/utils/sql-utils.ts b/packages/cli/src/modules/data-table/utils/sql-utils.ts index 6d22d77f0e9..b796bbed232 100644 --- a/packages/cli/src/modules/data-table/utils/sql-utils.ts +++ b/packages/cli/src/modules/data-table/utils/sql-utils.ts @@ -36,7 +36,7 @@ export function toDslColumns(columns: DataTableCreateColumnSchema[]): DslColumn[ case 'date': return name.timestampTimezone(); case 'json': - return name.json; + return name.jsonb; default: return name.text; }