import { MigrateDownArgs, MigrateUpArgs, sql } from "@payloadcms/db-postgres"; export async function up({ db, payload, req }: MigrateUpArgs): Promise { await db.execute(sql` CREATE TABLE "experience" ( "id" serial PRIMARY KEY NOT NULL, "name" varchar NOT NULL, "required_points" numeric NOT NULL, "description" jsonb NOT NULL, "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL ); ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "experience_id" integer; CREATE UNIQUE INDEX "experience_name_idx" ON "experience" USING btree ("name"); CREATE INDEX "experience_updated_at_idx" ON "experience" USING btree ("updated_at"); CREATE INDEX "experience_created_at_idx" ON "experience" USING btree ("created_at"); ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_experience_fk" FOREIGN KEY ("experience_id") REFERENCES "public"."experience"("id") ON DELETE cascade ON UPDATE no action; CREATE INDEX "payload_locked_documents_rels_experience_id_idx" ON "payload_locked_documents_rels" USING btree ("experience_id");`); } export async function down({ db, payload, req }: MigrateDownArgs): Promise { await db.execute(sql` ALTER TABLE "experience" DISABLE ROW LEVEL SECURITY; DROP TABLE "experience" CASCADE; ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_experience_fk"; DROP INDEX "payload_locked_documents_rels_experience_id_idx"; ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "experience_id";`); }