import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres' export async function up({ db, payload, req }: MigrateUpArgs): Promise { await db.execute(sql` CREATE TYPE "public"."enum_pages_blocks_fd_video_hero_overlay_color" AS ENUM('none', 'black', 'navy'); CREATE TYPE "public"."enum_pages_blocks_fd_video_hero_overlay_strength" AS ENUM('light', 'medium', 'heavy'); CREATE TYPE "public"."enum_pages_blocks_fd_video_hero_text_align" AS ENUM('left', 'center'); CREATE TYPE "public"."enum_pages_blocks_fd_video_hero_min_height" AS ENUM('screen', 'large', 'medium'); CREATE TYPE "public"."enum__pages_v_blocks_fd_video_hero_overlay_color" AS ENUM('none', 'black', 'navy'); CREATE TYPE "public"."enum__pages_v_blocks_fd_video_hero_overlay_strength" AS ENUM('light', 'medium', 'heavy'); CREATE TYPE "public"."enum__pages_v_blocks_fd_video_hero_text_align" AS ENUM('left', 'center'); CREATE TYPE "public"."enum__pages_v_blocks_fd_video_hero_min_height" AS ENUM('screen', 'large', 'medium'); CREATE TABLE "pages_blocks_fd_video_hero" ( "_order" integer NOT NULL, "_parent_id" integer NOT NULL, "_path" text NOT NULL, "id" varchar PRIMARY KEY NOT NULL, "video_mp4_id" integer, "video_webm_id" integer, "poster_image_id" integer, "cta_link" varchar, "secondary_cta_link" varchar, "overlay_color" "enum_pages_blocks_fd_video_hero_overlay_color" DEFAULT 'none', "overlay_strength" "enum_pages_blocks_fd_video_hero_overlay_strength" DEFAULT 'medium', "text_align" "enum_pages_blocks_fd_video_hero_text_align" DEFAULT 'left', "min_height" "enum_pages_blocks_fd_video_hero_min_height" DEFAULT 'screen', "disable_video_on_mobile" boolean DEFAULT false, "anchor_id" varchar, "block_name" varchar ); CREATE TABLE "pages_blocks_fd_video_hero_locales" ( "heading" varchar, "body" varchar, "cta_text" varchar, "secondary_cta_text" varchar, "id" serial PRIMARY KEY NOT NULL, "_locale" "_locales" NOT NULL, "_parent_id" varchar NOT NULL ); CREATE TABLE "_pages_v_blocks_fd_video_hero" ( "_order" integer NOT NULL, "_parent_id" integer NOT NULL, "_path" text NOT NULL, "id" serial PRIMARY KEY NOT NULL, "video_mp4_id" integer, "video_webm_id" integer, "poster_image_id" integer, "cta_link" varchar, "secondary_cta_link" varchar, "overlay_color" "enum__pages_v_blocks_fd_video_hero_overlay_color" DEFAULT 'none', "overlay_strength" "enum__pages_v_blocks_fd_video_hero_overlay_strength" DEFAULT 'medium', "text_align" "enum__pages_v_blocks_fd_video_hero_text_align" DEFAULT 'left', "min_height" "enum__pages_v_blocks_fd_video_hero_min_height" DEFAULT 'screen', "disable_video_on_mobile" boolean DEFAULT false, "anchor_id" varchar, "_uuid" varchar, "block_name" varchar ); CREATE TABLE "_pages_v_blocks_fd_video_hero_locales" ( "heading" varchar, "body" varchar, "cta_text" varchar, "secondary_cta_text" varchar, "id" serial PRIMARY KEY NOT NULL, "_locale" "_locales" NOT NULL, "_parent_id" integer NOT NULL ); ALTER TABLE "pages_blocks_fd_video_hero" ADD CONSTRAINT "pages_blocks_fd_video_hero_video_mp4_id_media_id_fk" FOREIGN KEY ("video_mp4_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "pages_blocks_fd_video_hero" ADD CONSTRAINT "pages_blocks_fd_video_hero_video_webm_id_media_id_fk" FOREIGN KEY ("video_webm_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "pages_blocks_fd_video_hero" ADD CONSTRAINT "pages_blocks_fd_video_hero_poster_image_id_media_id_fk" FOREIGN KEY ("poster_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "pages_blocks_fd_video_hero" ADD CONSTRAINT "pages_blocks_fd_video_hero_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "pages_blocks_fd_video_hero_locales" ADD CONSTRAINT "pages_blocks_fd_video_hero_locales_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages_blocks_fd_video_hero"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "_pages_v_blocks_fd_video_hero" ADD CONSTRAINT "_pages_v_blocks_fd_video_hero_video_mp4_id_media_id_fk" FOREIGN KEY ("video_mp4_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "_pages_v_blocks_fd_video_hero" ADD CONSTRAINT "_pages_v_blocks_fd_video_hero_video_webm_id_media_id_fk" FOREIGN KEY ("video_webm_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "_pages_v_blocks_fd_video_hero" ADD CONSTRAINT "_pages_v_blocks_fd_video_hero_poster_image_id_media_id_fk" FOREIGN KEY ("poster_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "_pages_v_blocks_fd_video_hero" ADD CONSTRAINT "_pages_v_blocks_fd_video_hero_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "_pages_v_blocks_fd_video_hero_locales" ADD CONSTRAINT "_pages_v_blocks_fd_video_hero_locales_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v_blocks_fd_video_hero"("id") ON DELETE cascade ON UPDATE no action; CREATE INDEX "pages_blocks_fd_video_hero_order_idx" ON "pages_blocks_fd_video_hero" USING btree ("_order"); CREATE INDEX "pages_blocks_fd_video_hero_parent_id_idx" ON "pages_blocks_fd_video_hero" USING btree ("_parent_id"); CREATE INDEX "pages_blocks_fd_video_hero_path_idx" ON "pages_blocks_fd_video_hero" USING btree ("_path"); CREATE INDEX "pages_blocks_fd_video_hero_video_mp4_idx" ON "pages_blocks_fd_video_hero" USING btree ("video_mp4_id"); CREATE INDEX "pages_blocks_fd_video_hero_video_webm_idx" ON "pages_blocks_fd_video_hero" USING btree ("video_webm_id"); CREATE INDEX "pages_blocks_fd_video_hero_poster_image_idx" ON "pages_blocks_fd_video_hero" USING btree ("poster_image_id"); CREATE UNIQUE INDEX "pages_blocks_fd_video_hero_locales_locale_parent_id_unique" ON "pages_blocks_fd_video_hero_locales" USING btree ("_locale","_parent_id"); CREATE INDEX "_pages_v_blocks_fd_video_hero_order_idx" ON "_pages_v_blocks_fd_video_hero" USING btree ("_order"); CREATE INDEX "_pages_v_blocks_fd_video_hero_parent_id_idx" ON "_pages_v_blocks_fd_video_hero" USING btree ("_parent_id"); CREATE INDEX "_pages_v_blocks_fd_video_hero_path_idx" ON "_pages_v_blocks_fd_video_hero" USING btree ("_path"); CREATE INDEX "_pages_v_blocks_fd_video_hero_video_mp4_idx" ON "_pages_v_blocks_fd_video_hero" USING btree ("video_mp4_id"); CREATE INDEX "_pages_v_blocks_fd_video_hero_video_webm_idx" ON "_pages_v_blocks_fd_video_hero" USING btree ("video_webm_id"); CREATE INDEX "_pages_v_blocks_fd_video_hero_poster_image_idx" ON "_pages_v_blocks_fd_video_hero" USING btree ("poster_image_id"); CREATE UNIQUE INDEX "_pages_v_blocks_fd_video_hero_locales_locale_parent_id_uniqu" ON "_pages_v_blocks_fd_video_hero_locales" USING btree ("_locale","_parent_id");`) } export async function down({ db, payload, req }: MigrateDownArgs): Promise { await db.execute(sql` DROP TABLE "pages_blocks_fd_video_hero" CASCADE; DROP TABLE "pages_blocks_fd_video_hero_locales" CASCADE; DROP TABLE "_pages_v_blocks_fd_video_hero" CASCADE; DROP TABLE "_pages_v_blocks_fd_video_hero_locales" CASCADE; DROP TYPE "public"."enum_pages_blocks_fd_video_hero_overlay_color"; DROP TYPE "public"."enum_pages_blocks_fd_video_hero_overlay_strength"; DROP TYPE "public"."enum_pages_blocks_fd_video_hero_text_align"; DROP TYPE "public"."enum_pages_blocks_fd_video_hero_min_height"; DROP TYPE "public"."enum__pages_v_blocks_fd_video_hero_overlay_color"; DROP TYPE "public"."enum__pages_v_blocks_fd_video_hero_overlay_strength"; DROP TYPE "public"."enum__pages_v_blocks_fd_video_hero_text_align"; DROP TYPE "public"."enum__pages_v_blocks_fd_video_hero_min_height";`) }