From a328c127f3691fc103e6d4bfedd7699db86d6c25 Mon Sep 17 00:00:00 2001 From: Charles Bochet Date: Wed, 15 Apr 2026 17:25:55 +0200 Subject: [PATCH] Fix standalone page migration failing on navigationMenuItem enum type change (#19724) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - The `AddStandalonePageFastInstanceCommand` migration was failing with: `default for column "type" cannot be cast automatically to type core."navigationMenuItem_type_enum"` - The migration was missing `DROP DEFAULT` / `SET DEFAULT` around the `ALTER COLUMN TYPE` for `navigationMenuItem.type`. PostgreSQL cannot automatically cast the existing default (`'VIEW'::old_enum`) to the new enum type. - The same 3-step pattern (DROP DEFAULT → ALTER TYPE → SET DEFAULT) was already correctly applied for `pageLayout.type` in the same migration — this fix brings `navigationMenuItem.type` in line. --- ...nce-command-fast-1775752781995-add-standalone-page.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/1-23/1-23-instance-command-fast-1775752781995-add-standalone-page.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/1-23/1-23-instance-command-fast-1775752781995-add-standalone-page.ts index 39d947e3dc..7387695bb6 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/1-23/1-23-instance-command-fast-1775752781995-add-standalone-page.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/1-23/1-23-instance-command-fast-1775752781995-add-standalone-page.ts @@ -36,6 +36,9 @@ export class AddStandalonePageFastInstanceCommand await queryRunner.query( "CREATE TYPE \"core\".\"navigationMenuItem_type_enum\" AS ENUM('VIEW', 'FOLDER', 'LINK', 'OBJECT', 'RECORD', 'PAGE_LAYOUT')", ); + await queryRunner.query( + 'ALTER TABLE "core"."navigationMenuItem" ALTER COLUMN "type" DROP DEFAULT', + ); await queryRunner.query( 'ALTER TABLE "core"."navigationMenuItem" ALTER COLUMN "type" TYPE "core"."navigationMenuItem_type_enum" USING "type"::"text"::"core"."navigationMenuItem_type_enum"', ); @@ -69,9 +72,15 @@ export class AddStandalonePageFastInstanceCommand await queryRunner.query( "CREATE TYPE \"core\".\"navigationMenuItem_type_enum_old\" AS ENUM('FOLDER', 'LINK', 'OBJECT', 'RECORD', 'VIEW')", ); + await queryRunner.query( + 'ALTER TABLE "core"."navigationMenuItem" ALTER COLUMN "type" DROP DEFAULT', + ); await queryRunner.query( 'ALTER TABLE "core"."navigationMenuItem" ALTER COLUMN "type" TYPE "core"."navigationMenuItem_type_enum_old" USING "type"::"text"::"core"."navigationMenuItem_type_enum_old"', ); + await queryRunner.query( + 'ALTER TABLE "core"."navigationMenuItem" ALTER COLUMN "type" SET DEFAULT \'VIEW\'', + ); await queryRunner.query('DROP TYPE "core"."navigationMenuItem_type_enum"'); await queryRunner.query( 'ALTER TYPE "core"."navigationMenuItem_type_enum_old" RENAME TO "navigationMenuItem_type_enum"',