From 34d341f5aed4e3fe0bf46cbdb74e387b4f34ea6b Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Thu, 5 Mar 2026 12:43:59 +0100 Subject: [PATCH] fix(cms): add missing enum types to localization migration --- .../20260225_175000_native_localization.ts | 35 ++++++++++++++++--- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/src/migrations/20260225_175000_native_localization.ts b/src/migrations/20260225_175000_native_localization.ts index 20d81a09..59678da7 100644 --- a/src/migrations/20260225_175000_native_localization.ts +++ b/src/migrations/20260225_175000_native_localization.ts @@ -55,10 +55,29 @@ export async function up({ db }: MigrateUpArgs): Promise { CREATE TYPE "public"."enum__products_v_version_status" AS ENUM('draft', 'published'); EXCEPTION WHEN duplicate_object THEN null; END $$ `); + await db.execute(sql` + DO $$ BEGIN + CREATE TYPE "public"."enum_pages_status" AS ENUM('draft', 'published'); + EXCEPTION WHEN duplicate_object THEN null; END $$ + `); + await db.execute(sql` + DO $$ BEGIN + CREATE TYPE "public"."enum_posts_status" AS ENUM('draft', 'published'); + EXCEPTION WHEN duplicate_object THEN null; END $$ + `); + await db.execute(sql` + DO $$ BEGIN + CREATE TYPE "public"."enum_products_status" AS ENUM('draft', 'published'); + EXCEPTION WHEN duplicate_object THEN null; END $$ + `); // ── 2. Alter pages table ───────────────────────────────────────────────────── - await db.execute(sql`ALTER TABLE "pages" ADD COLUMN IF NOT EXISTS "layout" "enum_pages_layout" DEFAULT 'default'`); - await db.execute(sql`ALTER TABLE "pages" ADD COLUMN IF NOT EXISTS "_status" "enum_pages_status" DEFAULT 'draft'`); + await db.execute( + sql`ALTER TABLE "pages" ADD COLUMN IF NOT EXISTS "layout" "enum_pages_layout" DEFAULT 'default'`, + ); + await db.execute( + sql`ALTER TABLE "pages" ADD COLUMN IF NOT EXISTS "_status" "enum_pages_status" DEFAULT 'draft'`, + ); // ── 3. Create pages_locales join table ─────────────────────────────────────── await db.execute(sql` @@ -202,9 +221,15 @@ export async function up({ db }: MigrateUpArgs): Promise { await db.execute(sql`ALTER TABLE "products" DROP COLUMN IF EXISTS "locale"`); // ── 12. Version tables (_posts_v, _products_v, _pages_v) locale columns ────── - await db.execute(sql`ALTER TABLE "_posts_v" ADD COLUMN IF NOT EXISTS "published_locale" "enum__posts_v_published_locale"`); - await db.execute(sql`ALTER TABLE "_products_v" ADD COLUMN IF NOT EXISTS "published_locale" "enum__products_v_published_locale"`); - await db.execute(sql`ALTER TABLE "_pages_v" ADD COLUMN IF NOT EXISTS "published_locale" "enum__pages_v_published_locale"`); + await db.execute( + sql`ALTER TABLE "_posts_v" ADD COLUMN IF NOT EXISTS "published_locale" "enum__posts_v_published_locale"`, + ); + await db.execute( + sql`ALTER TABLE "_products_v" ADD COLUMN IF NOT EXISTS "published_locale" "enum__products_v_published_locale"`, + ); + await db.execute( + sql`ALTER TABLE "_pages_v" ADD COLUMN IF NOT EXISTS "published_locale" "enum__pages_v_published_locale"`, + ); // ── 13. Create _posts_v_locales ────────────────────────────────────────────── await db.execute(sql`