Add missing version_faq_title column to _home_page_v and create
_home_page_v_version_faq_items table; Payload versions: {max:20}
requires both the main table and the versions table to be in sync.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
36 lines
1.7 KiB
SQL
36 lines
1.7 KiB
SQL
-- Migration: add FAQ fields to home_page global
|
|
-- Scalar faq_title goes on the main table; faq_items is an array child table.
|
|
-- The versions table (_home_page_v) mirrors these fields with version_ prefix.
|
|
|
|
-- 1. Main table: scalar column for faq title
|
|
ALTER TABLE home_page ADD COLUMN IF NOT EXISTS faq_title character varying;
|
|
|
|
-- 2. Main table: array child table for faq items
|
|
-- IMPORTANT: id must be character varying (not serial) — Payload generates string IDs
|
|
CREATE TABLE IF NOT EXISTS home_page_faq_items (
|
|
_order integer NOT NULL,
|
|
_parent_id integer NOT NULL REFERENCES home_page(id) ON DELETE CASCADE,
|
|
id character varying NOT NULL,
|
|
question character varying,
|
|
answer text,
|
|
updated_at timestamp with time zone DEFAULT now(),
|
|
created_at timestamp with time zone DEFAULT now(),
|
|
CONSTRAINT home_page_faq_items_pkey PRIMARY KEY (id)
|
|
);
|
|
CREATE INDEX IF NOT EXISTS home_page_faq_items_order_idx ON home_page_faq_items (_order);
|
|
CREATE INDEX IF NOT EXISTS home_page_faq_items_parent_id_idx ON home_page_faq_items (_parent_id);
|
|
|
|
-- 3. Versions table: scalar column mirror
|
|
ALTER TABLE _home_page_v ADD COLUMN IF NOT EXISTS version_faq_title character varying;
|
|
|
|
-- 4. Versions table: array child table mirror (uses serial id, _uuid, no timestamps)
|
|
CREATE TABLE IF NOT EXISTS _home_page_v_version_faq_items (
|
|
_order integer NOT NULL,
|
|
_parent_id integer NOT NULL REFERENCES _home_page_v(id) ON DELETE CASCADE,
|
|
id serial PRIMARY KEY,
|
|
question character varying,
|
|
answer text,
|
|
_uuid character varying
|
|
);
|
|
CREATE INDEX IF NOT EXISTS _home_page_v_version_faq_items_order_idx ON _home_page_v_version_faq_items (_order);
|
|
CREATE INDEX IF NOT EXISTS _home_page_v_version_faq_items_parent_id_idx ON _home_page_v_version_faq_items (_parent_id);
|