Initial release of Moniki paid services site and CMS (v1.0.0).
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,514 @@
|
||||
import { sql } from '@payloadcms/db-postgres'
|
||||
import type { Payload } from 'payload'
|
||||
|
||||
type DrizzleAdapter = {
|
||||
drizzle: { execute: (query: unknown) => Promise<unknown> }
|
||||
}
|
||||
|
||||
async function exec(payload: Payload, query: unknown) {
|
||||
const adapter = payload.db as DrizzleAdapter
|
||||
await adapter.drizzle.execute(query)
|
||||
}
|
||||
|
||||
export async function ensurePagesSchema(payload: Payload) {
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
DO $$ BEGIN
|
||||
CREATE TYPE enum_pages_section AS ENUM ('organization', 'useful');
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$
|
||||
`,
|
||||
)
|
||||
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE TABLE IF NOT EXISTS pages (
|
||||
id serial PRIMARY KEY,
|
||||
slug character varying NOT NULL,
|
||||
section enum_pages_section NOT NULL DEFAULT 'organization',
|
||||
sort_order numeric DEFAULT 100,
|
||||
show_in_footer boolean DEFAULT true,
|
||||
is_published boolean DEFAULT true,
|
||||
source_url character varying,
|
||||
cta_href character varying,
|
||||
updated_at timestamp(3) with time zone NOT NULL DEFAULT now(),
|
||||
created_at timestamp(3) with time zone NOT NULL DEFAULT now()
|
||||
)
|
||||
`,
|
||||
)
|
||||
|
||||
await exec(payload, sql`ALTER TABLE pages ADD COLUMN IF NOT EXISTS slug character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages ADD COLUMN IF NOT EXISTS section enum_pages_section DEFAULT 'organization'`)
|
||||
await exec(payload, sql`ALTER TABLE pages ADD COLUMN IF NOT EXISTS sort_order numeric DEFAULT 100`)
|
||||
await exec(payload, sql`ALTER TABLE pages ADD COLUMN IF NOT EXISTS show_in_footer boolean DEFAULT true`)
|
||||
await exec(payload, sql`ALTER TABLE pages ADD COLUMN IF NOT EXISTS is_published boolean DEFAULT true`)
|
||||
await exec(payload, sql`ALTER TABLE pages ADD COLUMN IF NOT EXISTS source_url character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages ADD COLUMN IF NOT EXISTS cta_href character varying`)
|
||||
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE TABLE IF NOT EXISTS pages_locales (
|
||||
id serial PRIMARY KEY,
|
||||
title character varying NOT NULL,
|
||||
heading character varying,
|
||||
subtitle character varying,
|
||||
content jsonb,
|
||||
notice character varying,
|
||||
cta_hint character varying,
|
||||
cta_label character varying,
|
||||
timeline_title character varying,
|
||||
table_caption character varying,
|
||||
_locale _locales NOT NULL,
|
||||
_parent_id integer NOT NULL
|
||||
)
|
||||
`,
|
||||
)
|
||||
|
||||
await exec(payload, sql`ALTER TABLE pages_locales ADD COLUMN IF NOT EXISTS title character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_locales ADD COLUMN IF NOT EXISTS heading character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_locales ADD COLUMN IF NOT EXISTS subtitle character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_locales ADD COLUMN IF NOT EXISTS content jsonb`)
|
||||
await exec(payload, sql`ALTER TABLE pages_locales ADD COLUMN IF NOT EXISTS notice character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_locales ADD COLUMN IF NOT EXISTS cta_hint character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_locales ADD COLUMN IF NOT EXISTS cta_label character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_locales ADD COLUMN IF NOT EXISTS table_caption character varying`)
|
||||
|
||||
await exec(payload, sql`CREATE UNIQUE INDEX IF NOT EXISTS pages_slug_idx ON pages (slug)`)
|
||||
await exec(payload, sql`CREATE INDEX IF NOT EXISTS pages_created_at_idx ON pages (created_at)`)
|
||||
await exec(payload, sql`CREATE INDEX IF NOT EXISTS pages_updated_at_idx ON pages (updated_at)`)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS pages_locales_locale_parent_id_unique
|
||||
ON pages_locales (_locale, _parent_id)
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE pages_locales
|
||||
ADD CONSTRAINT pages_locales_parent_id_fk
|
||||
FOREIGN KEY (_parent_id) REFERENCES pages(id) ON DELETE CASCADE;
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$
|
||||
`,
|
||||
)
|
||||
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE TABLE IF NOT EXISTS pages_facts (
|
||||
_order integer NOT NULL,
|
||||
_parent_id integer NOT NULL,
|
||||
id character varying NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
`,
|
||||
)
|
||||
await exec(payload, sql`CREATE INDEX IF NOT EXISTS pages_facts_order_idx ON pages_facts (_order)`)
|
||||
await exec(payload, sql`CREATE INDEX IF NOT EXISTS pages_facts_parent_id_idx ON pages_facts (_parent_id)`)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE pages_facts
|
||||
ADD CONSTRAINT pages_facts_parent_id_fk
|
||||
FOREIGN KEY (_parent_id) REFERENCES pages(id) ON DELETE CASCADE;
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE TABLE IF NOT EXISTS pages_facts_locales (
|
||||
label character varying NOT NULL,
|
||||
value character varying NOT NULL,
|
||||
id serial PRIMARY KEY,
|
||||
_locale _locales NOT NULL,
|
||||
_parent_id character varying NOT NULL
|
||||
)
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS pages_facts_locales_locale_parent_id_unique
|
||||
ON pages_facts_locales (_locale, _parent_id)
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE pages_facts_locales
|
||||
ADD CONSTRAINT pages_facts_locales_parent_id_fk
|
||||
FOREIGN KEY (_parent_id) REFERENCES pages_facts(id) ON DELETE CASCADE;
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$
|
||||
`,
|
||||
)
|
||||
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE TABLE IF NOT EXISTS pages_timeline (
|
||||
_order integer NOT NULL,
|
||||
_parent_id integer NOT NULL,
|
||||
id character varying NOT NULL,
|
||||
year character varying,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
`,
|
||||
)
|
||||
await exec(payload, sql`ALTER TABLE pages_timeline ADD COLUMN IF NOT EXISTS year character varying`)
|
||||
await exec(payload, sql`CREATE INDEX IF NOT EXISTS pages_timeline_order_idx ON pages_timeline (_order)`)
|
||||
await exec(payload, sql`CREATE INDEX IF NOT EXISTS pages_timeline_parent_id_idx ON pages_timeline (_parent_id)`)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE pages_timeline
|
||||
ADD CONSTRAINT pages_timeline_parent_id_fk
|
||||
FOREIGN KEY (_parent_id) REFERENCES pages(id) ON DELETE CASCADE;
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE TABLE IF NOT EXISTS pages_timeline_locales (
|
||||
text character varying,
|
||||
id serial PRIMARY KEY,
|
||||
_locale _locales NOT NULL,
|
||||
_parent_id character varying NOT NULL
|
||||
)
|
||||
`,
|
||||
)
|
||||
await exec(payload, sql`ALTER TABLE pages_timeline_locales ADD COLUMN IF NOT EXISTS text character varying`)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS pages_timeline_locales_locale_parent_id_unique
|
||||
ON pages_timeline_locales (_locale, _parent_id)
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE pages_timeline_locales
|
||||
ADD CONSTRAINT pages_timeline_locales_parent_id_fk
|
||||
FOREIGN KEY (_parent_id) REFERENCES pages_timeline(id) ON DELETE CASCADE;
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$
|
||||
`,
|
||||
)
|
||||
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE TABLE IF NOT EXISTS pages_people (
|
||||
_order integer NOT NULL,
|
||||
_parent_id integer NOT NULL,
|
||||
id character varying NOT NULL,
|
||||
name character varying,
|
||||
photo_id integer,
|
||||
photo_url character varying,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
`,
|
||||
)
|
||||
await exec(payload, sql`ALTER TABLE pages_people ADD COLUMN IF NOT EXISTS name character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_people ADD COLUMN IF NOT EXISTS photo_id integer`)
|
||||
await exec(payload, sql`ALTER TABLE pages_people ADD COLUMN IF NOT EXISTS photo_url character varying`)
|
||||
await exec(payload, sql`CREATE INDEX IF NOT EXISTS pages_people_order_idx ON pages_people (_order)`)
|
||||
await exec(payload, sql`CREATE INDEX IF NOT EXISTS pages_people_parent_id_idx ON pages_people (_parent_id)`)
|
||||
await exec(payload, sql`CREATE INDEX IF NOT EXISTS pages_people_photo_idx ON pages_people (photo_id)`)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE pages_people
|
||||
ADD CONSTRAINT pages_people_parent_id_fk
|
||||
FOREIGN KEY (_parent_id) REFERENCES pages(id) ON DELETE CASCADE;
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE pages_people
|
||||
ADD CONSTRAINT pages_people_photo_id_media_id_fk
|
||||
FOREIGN KEY (photo_id) REFERENCES media(id) ON DELETE SET NULL;
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE TABLE IF NOT EXISTS pages_people_locales (
|
||||
position character varying,
|
||||
degree character varying,
|
||||
hours character varying,
|
||||
address character varying,
|
||||
id serial PRIMARY KEY,
|
||||
_locale _locales NOT NULL,
|
||||
_parent_id character varying NOT NULL
|
||||
)
|
||||
`,
|
||||
)
|
||||
await exec(payload, sql`ALTER TABLE pages_people_locales ADD COLUMN IF NOT EXISTS position character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_people_locales ADD COLUMN IF NOT EXISTS degree character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_people_locales ADD COLUMN IF NOT EXISTS hours character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_people_locales ADD COLUMN IF NOT EXISTS address character varying`)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS pages_people_locales_locale_parent_id_unique
|
||||
ON pages_people_locales (_locale, _parent_id)
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE pages_people_locales
|
||||
ADD CONSTRAINT pages_people_locales_parent_id_fk
|
||||
FOREIGN KEY (_parent_id) REFERENCES pages_people(id) ON DELETE CASCADE;
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$
|
||||
`,
|
||||
)
|
||||
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE TABLE IF NOT EXISTS pages_cards (
|
||||
_order integer NOT NULL,
|
||||
_parent_id integer NOT NULL,
|
||||
id character varying NOT NULL,
|
||||
status character varying,
|
||||
number character varying,
|
||||
issued_at character varying,
|
||||
phone character varying,
|
||||
email character varying,
|
||||
href character varying,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
`,
|
||||
)
|
||||
await exec(payload, sql`ALTER TABLE pages_cards ADD COLUMN IF NOT EXISTS status character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_cards ADD COLUMN IF NOT EXISTS number character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_cards ADD COLUMN IF NOT EXISTS issued_at character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_cards ADD COLUMN IF NOT EXISTS phone character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_cards ADD COLUMN IF NOT EXISTS email character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_cards ADD COLUMN IF NOT EXISTS href character varying`)
|
||||
await exec(payload, sql`CREATE INDEX IF NOT EXISTS pages_cards_order_idx ON pages_cards (_order)`)
|
||||
await exec(payload, sql`CREATE INDEX IF NOT EXISTS pages_cards_parent_id_idx ON pages_cards (_parent_id)`)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE pages_cards
|
||||
ADD CONSTRAINT pages_cards_parent_id_fk
|
||||
FOREIGN KEY (_parent_id) REFERENCES pages(id) ON DELETE CASCADE;
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE TABLE IF NOT EXISTS pages_cards_locales (
|
||||
title character varying,
|
||||
role character varying,
|
||||
authority character varying,
|
||||
activity character varying,
|
||||
extract character varying,
|
||||
address character varying,
|
||||
link_label character varying,
|
||||
id serial PRIMARY KEY,
|
||||
_locale _locales NOT NULL,
|
||||
_parent_id character varying NOT NULL
|
||||
)
|
||||
`,
|
||||
)
|
||||
await exec(payload, sql`ALTER TABLE pages_cards_locales ADD COLUMN IF NOT EXISTS title character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_cards_locales ADD COLUMN IF NOT EXISTS role character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_cards_locales ADD COLUMN IF NOT EXISTS authority character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_cards_locales ADD COLUMN IF NOT EXISTS activity character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_cards_locales ADD COLUMN IF NOT EXISTS extract character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_cards_locales ADD COLUMN IF NOT EXISTS address character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_cards_locales ADD COLUMN IF NOT EXISTS link_label character varying`)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS pages_cards_locales_locale_parent_id_unique
|
||||
ON pages_cards_locales (_locale, _parent_id)
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE pages_cards_locales
|
||||
ADD CONSTRAINT pages_cards_locales_parent_id_fk
|
||||
FOREIGN KEY (_parent_id) REFERENCES pages_cards(id) ON DELETE CASCADE;
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$
|
||||
`,
|
||||
)
|
||||
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE TABLE IF NOT EXISTS pages_faq (
|
||||
_order integer NOT NULL,
|
||||
_parent_id integer NOT NULL,
|
||||
id character varying NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
`,
|
||||
)
|
||||
await exec(payload, sql`CREATE INDEX IF NOT EXISTS pages_faq_order_idx ON pages_faq (_order)`)
|
||||
await exec(payload, sql`CREATE INDEX IF NOT EXISTS pages_faq_parent_id_idx ON pages_faq (_parent_id)`)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE pages_faq
|
||||
ADD CONSTRAINT pages_faq_parent_id_fk
|
||||
FOREIGN KEY (_parent_id) REFERENCES pages(id) ON DELETE CASCADE;
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE TABLE IF NOT EXISTS pages_faq_locales (
|
||||
question character varying,
|
||||
answer character varying,
|
||||
id serial PRIMARY KEY,
|
||||
_locale _locales NOT NULL,
|
||||
_parent_id character varying NOT NULL
|
||||
)
|
||||
`,
|
||||
)
|
||||
await exec(payload, sql`ALTER TABLE pages_faq_locales ADD COLUMN IF NOT EXISTS question character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_faq_locales ADD COLUMN IF NOT EXISTS answer character varying`)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS pages_faq_locales_locale_parent_id_unique
|
||||
ON pages_faq_locales (_locale, _parent_id)
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE pages_faq_locales
|
||||
ADD CONSTRAINT pages_faq_locales_parent_id_fk
|
||||
FOREIGN KEY (_parent_id) REFERENCES pages_faq(id) ON DELETE CASCADE;
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$
|
||||
`,
|
||||
)
|
||||
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE TABLE IF NOT EXISTS pages_table_rows (
|
||||
_order integer NOT NULL,
|
||||
_parent_id integer NOT NULL,
|
||||
id character varying NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
`,
|
||||
)
|
||||
await exec(payload, sql`CREATE INDEX IF NOT EXISTS pages_table_rows_order_idx ON pages_table_rows (_order)`)
|
||||
await exec(payload, sql`CREATE INDEX IF NOT EXISTS pages_table_rows_parent_id_idx ON pages_table_rows (_parent_id)`)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE pages_table_rows
|
||||
ADD CONSTRAINT pages_table_rows_parent_id_fk
|
||||
FOREIGN KEY (_parent_id) REFERENCES pages(id) ON DELETE CASCADE;
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE TABLE IF NOT EXISTS pages_table_rows_locales (
|
||||
category character varying,
|
||||
condition character varying,
|
||||
discount character varying,
|
||||
documents character varying,
|
||||
id serial PRIMARY KEY,
|
||||
_locale _locales NOT NULL,
|
||||
_parent_id character varying NOT NULL
|
||||
)
|
||||
`,
|
||||
)
|
||||
await exec(payload, sql`ALTER TABLE pages_table_rows_locales ADD COLUMN IF NOT EXISTS category character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_table_rows_locales ADD COLUMN IF NOT EXISTS condition character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_table_rows_locales ADD COLUMN IF NOT EXISTS discount character varying`)
|
||||
await exec(payload, sql`ALTER TABLE pages_table_rows_locales ADD COLUMN IF NOT EXISTS documents character varying`)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS pages_table_rows_locales_locale_parent_id_unique
|
||||
ON pages_table_rows_locales (_locale, _parent_id)
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE pages_table_rows_locales
|
||||
ADD CONSTRAINT pages_table_rows_locales_parent_id_fk
|
||||
FOREIGN KEY (_parent_id) REFERENCES pages_table_rows(id) ON DELETE CASCADE;
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$
|
||||
`,
|
||||
)
|
||||
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
ALTER TABLE payload_locked_documents_rels
|
||||
ADD COLUMN IF NOT EXISTS pages_id integer
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
CREATE INDEX IF NOT EXISTS payload_locked_documents_rels_pages_id_idx
|
||||
ON payload_locked_documents_rels (pages_id)
|
||||
`,
|
||||
)
|
||||
await exec(
|
||||
payload,
|
||||
sql`
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE payload_locked_documents_rels
|
||||
ADD CONSTRAINT payload_locked_documents_rels_pages_fk
|
||||
FOREIGN KEY (pages_id) REFERENCES pages(id) ON DELETE CASCADE;
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$
|
||||
`,
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user