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>
37 lines
1.6 KiB
SQL
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 $$;
|