Shumiland/migrations/0022_fix_notnull_richtext_columns.sql
Vadym Samoilenko 3c9361e780
Some checks are pending
CI / Type Check (push) Waiting to run
CI / Lint (push) Waiting to run
CI / Unit Tests (push) Waiting to run
Deploy / Build & Push Image (push) Waiting to run
Deploy / Deploy to VPS (push) Blocked by required conditions
fix(migrations): drop NOT NULL before ALTER TYPE for constrained richText columns
0021 failed on dinosaur_page_why_visit_items, dyvolis_page_why_visit_items,
locations_why_visit_items because those columns had NOT NULL constraints
(from Payload required: true). Drop constraint first, then change type to jsonb.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 15:09:11 +01:00

37 lines
1.6 KiB
SQL

-- Migration: fix NOT NULL blocked columns from 0021 - drop constraint before type change
DO $$ BEGIN
IF EXISTS (
SELECT 1 FROM information_schema.columns
WHERE table_name = 'dinosaur_page_why_visit_items' AND column_name = 'description'
AND data_type IN ('character varying', 'text')
) THEN
ALTER TABLE "dinosaur_page_why_visit_items" ALTER COLUMN "description" DROP NOT NULL;
ALTER TABLE "dinosaur_page_why_visit_items" ALTER COLUMN "description" DROP DEFAULT;
ALTER TABLE "dinosaur_page_why_visit_items" ALTER COLUMN "description" TYPE jsonb USING NULL;
END IF;
END $$;
DO $$ BEGIN
IF EXISTS (
SELECT 1 FROM information_schema.columns
WHERE table_name = 'dyvolis_page_why_visit_items' AND column_name = 'description'
AND data_type IN ('character varying', 'text')
) THEN
ALTER TABLE "dyvolis_page_why_visit_items" ALTER COLUMN "description" DROP NOT NULL;
ALTER TABLE "dyvolis_page_why_visit_items" ALTER COLUMN "description" DROP DEFAULT;
ALTER TABLE "dyvolis_page_why_visit_items" ALTER COLUMN "description" TYPE jsonb USING NULL;
END IF;
END $$;
DO $$ BEGIN
IF EXISTS (
SELECT 1 FROM information_schema.columns
WHERE table_name = 'locations_why_visit_items' AND column_name = 'description'
AND data_type IN ('character varying', 'text')
) THEN
ALTER TABLE "locations_why_visit_items" ALTER COLUMN "description" DROP NOT NULL;
ALTER TABLE "locations_why_visit_items" ALTER COLUMN "description" DROP DEFAULT;
ALTER TABLE "locations_why_visit_items" ALTER COLUMN "description" TYPE jsonb USING NULL;
END IF;
END $$;