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>
This commit is contained in:
parent
5a3be7d0ee
commit
3c9361e780
1 changed files with 37 additions and 0 deletions
37
migrations/0022_fix_notnull_richtext_columns.sql
Normal file
37
migrations/0022_fix_notnull_richtext_columns.sql
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
-- 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 $$;
|
||||
Loading…
Add table
Reference in a new issue