71 lines
4.9 KiB
TypeScript
71 lines
4.9 KiB
TypeScript
import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres'
|
|
|
|
export async function up({ db, payload, req }: MigrateUpArgs): Promise<void> {
|
|
await db.execute(sql`
|
|
ALTER TABLE "pages_blocks_fd_contact_form_form_fields" DISABLE ROW LEVEL SECURITY;
|
|
ALTER TABLE "_pages_v_blocks_fd_contact_form_form_fields" DISABLE ROW LEVEL SECURITY;
|
|
DROP TABLE "pages_blocks_fd_contact_form_form_fields" CASCADE;
|
|
DROP TABLE "_pages_v_blocks_fd_contact_form_form_fields" CASCADE;
|
|
ALTER TABLE "pages_blocks_fd_contact_form" ADD COLUMN "form_id" integer;
|
|
ALTER TABLE "_pages_v_blocks_fd_contact_form" ADD COLUMN "form_id" integer;
|
|
ALTER TABLE "pages_blocks_fd_contact_form" ADD CONSTRAINT "pages_blocks_fd_contact_form_form_id_forms_id_fk" FOREIGN KEY ("form_id") REFERENCES "public"."forms"("id") ON DELETE set null ON UPDATE no action;
|
|
ALTER TABLE "_pages_v_blocks_fd_contact_form" ADD CONSTRAINT "_pages_v_blocks_fd_contact_form_form_id_forms_id_fk" FOREIGN KEY ("form_id") REFERENCES "public"."forms"("id") ON DELETE set null ON UPDATE no action;
|
|
CREATE INDEX "pages_blocks_fd_contact_form_form_idx" ON "pages_blocks_fd_contact_form" USING btree ("form_id");
|
|
CREATE INDEX "_pages_v_blocks_fd_contact_form_form_idx" ON "_pages_v_blocks_fd_contact_form" USING btree ("form_id");
|
|
ALTER TABLE "pages_blocks_fd_contact_form" DROP COLUMN "submit_endpoint";
|
|
ALTER TABLE "_pages_v_blocks_fd_contact_form" DROP COLUMN "submit_endpoint";
|
|
DROP TYPE "public"."enum_pages_blocks_fd_contact_form_form_fields_type";
|
|
DROP TYPE "public"."enum_pages_blocks_fd_contact_form_form_fields_width";
|
|
DROP TYPE "public"."enum__pages_v_blocks_fd_contact_form_form_fields_type";
|
|
DROP TYPE "public"."enum__pages_v_blocks_fd_contact_form_form_fields_width";`)
|
|
}
|
|
|
|
export async function down({ db, payload, req }: MigrateDownArgs): Promise<void> {
|
|
await db.execute(sql`
|
|
CREATE TYPE "public"."enum_pages_blocks_fd_contact_form_form_fields_type" AS ENUM('text', 'email', 'tel', 'textarea', 'select');
|
|
CREATE TYPE "public"."enum_pages_blocks_fd_contact_form_form_fields_width" AS ENUM('half', 'full');
|
|
CREATE TYPE "public"."enum__pages_v_blocks_fd_contact_form_form_fields_type" AS ENUM('text', 'email', 'tel', 'textarea', 'select');
|
|
CREATE TYPE "public"."enum__pages_v_blocks_fd_contact_form_form_fields_width" AS ENUM('half', 'full');
|
|
CREATE TABLE "pages_blocks_fd_contact_form_form_fields" (
|
|
"_order" integer NOT NULL,
|
|
"_parent_id" varchar NOT NULL,
|
|
"id" varchar PRIMARY KEY NOT NULL,
|
|
"label" varchar,
|
|
"name" varchar,
|
|
"type" "enum_pages_blocks_fd_contact_form_form_fields_type" DEFAULT 'text',
|
|
"required" boolean DEFAULT false,
|
|
"width" "enum_pages_blocks_fd_contact_form_form_fields_width" DEFAULT 'half',
|
|
"select_options" varchar
|
|
);
|
|
|
|
CREATE TABLE "_pages_v_blocks_fd_contact_form_form_fields" (
|
|
"_order" integer NOT NULL,
|
|
"_parent_id" integer NOT NULL,
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"label" varchar,
|
|
"name" varchar,
|
|
"type" "enum__pages_v_blocks_fd_contact_form_form_fields_type" DEFAULT 'text',
|
|
"required" boolean DEFAULT false,
|
|
"width" "enum__pages_v_blocks_fd_contact_form_form_fields_width" DEFAULT 'half',
|
|
"select_options" varchar,
|
|
"_uuid" varchar
|
|
);
|
|
|
|
ALTER TABLE "pages_blocks_fd_contact_form" DROP CONSTRAINT "pages_blocks_fd_contact_form_form_id_forms_id_fk";
|
|
|
|
ALTER TABLE "_pages_v_blocks_fd_contact_form" DROP CONSTRAINT "_pages_v_blocks_fd_contact_form_form_id_forms_id_fk";
|
|
|
|
DROP INDEX "pages_blocks_fd_contact_form_form_idx";
|
|
DROP INDEX "_pages_v_blocks_fd_contact_form_form_idx";
|
|
ALTER TABLE "pages_blocks_fd_contact_form" ADD COLUMN "submit_endpoint" varchar;
|
|
ALTER TABLE "_pages_v_blocks_fd_contact_form" ADD COLUMN "submit_endpoint" varchar;
|
|
ALTER TABLE "pages_blocks_fd_contact_form_form_fields" ADD CONSTRAINT "pages_blocks_fd_contact_form_form_fields_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages_blocks_fd_contact_form"("id") ON DELETE cascade ON UPDATE no action;
|
|
ALTER TABLE "_pages_v_blocks_fd_contact_form_form_fields" ADD CONSTRAINT "_pages_v_blocks_fd_contact_form_form_fields_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v_blocks_fd_contact_form"("id") ON DELETE cascade ON UPDATE no action;
|
|
CREATE INDEX "pages_blocks_fd_contact_form_form_fields_order_idx" ON "pages_blocks_fd_contact_form_form_fields" USING btree ("_order");
|
|
CREATE INDEX "pages_blocks_fd_contact_form_form_fields_parent_id_idx" ON "pages_blocks_fd_contact_form_form_fields" USING btree ("_parent_id");
|
|
CREATE INDEX "_pages_v_blocks_fd_contact_form_form_fields_order_idx" ON "_pages_v_blocks_fd_contact_form_form_fields" USING btree ("_order");
|
|
CREATE INDEX "_pages_v_blocks_fd_contact_form_form_fields_parent_id_idx" ON "_pages_v_blocks_fd_contact_form_form_fields" USING btree ("_parent_id");
|
|
ALTER TABLE "pages_blocks_fd_contact_form" DROP COLUMN "form_id";
|
|
ALTER TABLE "_pages_v_blocks_fd_contact_form" DROP COLUMN "form_id";`)
|
|
}
|