From 8a864ef4a624d3f554babd660dcb27cfc6d3ab18 Mon Sep 17 00:00:00 2001 From: Vadym Samoilenko Date: Thu, 11 Jun 2026 14:02:48 +0100 Subject: [PATCH] =?UTF-8?q?fix(migrations):=20drop=20column=20defaults=20b?= =?UTF-8?q?efore=20ALTER=20TYPE=20varchar=E2=86=92jsonb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- migrations/0020_kvytky_to_payments_richtext.sql | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/migrations/0020_kvytky_to_payments_richtext.sql b/migrations/0020_kvytky_to_payments_richtext.sql index 434fa85..cab45c8 100644 --- a/migrations/0020_kvytky_to_payments_richtext.sql +++ b/migrations/0020_kvytky_to_payments_richtext.sql @@ -3,7 +3,7 @@ UPDATE "header" SET "cta_href" = '/payments' WHERE "cta_href" = '/kvytky'; UPDATE "birthday_page_pricing_packages" SET "cta_href" = '/payments' WHERE "cta_href" = '/kvytky'; -- Change heroDescription, featureText, bottomText from varchar to jsonb --- (existing text is incompatible with Lexical JSON; fields reset to NULL — re-enter via admin) +-- Must drop DEFAULT first, then change type (PostgreSQL can't cast text default to jsonb) DO $$ BEGIN IF EXISTS ( @@ -11,6 +11,7 @@ BEGIN WHERE table_name = 'group_visits_page' AND column_name = 'hero_description' AND data_type = 'character varying' ) THEN + ALTER TABLE "group_visits_page" ALTER COLUMN "hero_description" DROP DEFAULT; ALTER TABLE "group_visits_page" ALTER COLUMN "hero_description" TYPE jsonb USING NULL; END IF; @@ -19,6 +20,7 @@ BEGIN WHERE table_name = 'group_visits_page' AND column_name = 'feature_text' AND data_type = 'character varying' ) THEN + ALTER TABLE "group_visits_page" ALTER COLUMN "feature_text" DROP DEFAULT; ALTER TABLE "group_visits_page" ALTER COLUMN "feature_text" TYPE jsonb USING NULL; END IF; @@ -27,6 +29,7 @@ BEGIN WHERE table_name = 'group_visits_page' AND column_name = 'bottom_text' AND data_type = 'character varying' ) THEN + ALTER TABLE "group_visits_page" ALTER COLUMN "bottom_text" DROP DEFAULT; ALTER TABLE "group_visits_page" ALTER COLUMN "bottom_text" TYPE jsonb USING NULL; END IF; END $$; @@ -38,6 +41,7 @@ BEGIN WHERE table_name = '_group_visits_page_v' AND column_name = 'version_hero_description' AND data_type = 'character varying' ) THEN + ALTER TABLE "_group_visits_page_v" ALTER COLUMN "version_hero_description" DROP DEFAULT; ALTER TABLE "_group_visits_page_v" ALTER COLUMN "version_hero_description" TYPE jsonb USING NULL; END IF; @@ -46,6 +50,7 @@ BEGIN WHERE table_name = '_group_visits_page_v' AND column_name = 'version_feature_text' AND data_type = 'character varying' ) THEN + ALTER TABLE "_group_visits_page_v" ALTER COLUMN "version_feature_text" DROP DEFAULT; ALTER TABLE "_group_visits_page_v" ALTER COLUMN "version_feature_text" TYPE jsonb USING NULL; END IF; @@ -54,6 +59,7 @@ BEGIN WHERE table_name = '_group_visits_page_v' AND column_name = 'version_bottom_text' AND data_type = 'character varying' ) THEN + ALTER TABLE "_group_visits_page_v" ALTER COLUMN "version_bottom_text" DROP DEFAULT; ALTER TABLE "_group_visits_page_v" ALTER COLUMN "version_bottom_text" TYPE jsonb USING NULL; END IF; END $$;