import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres' export async function up({ db, payload, req }: MigrateUpArgs): Promise { 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 { 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";`) }