-- CreateTable CREATE TABLE IF NOT EXISTS "FileRequirement" ( "id" TEXT NOT NULL, "roundId" TEXT NOT NULL, "name" TEXT NOT NULL, "description" TEXT, "acceptedMimeTypes" TEXT[], "maxSizeMB" INTEGER, "isRequired" BOOLEAN NOT NULL DEFAULT true, "sortOrder" INTEGER NOT NULL DEFAULT 0, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "updatedAt" TIMESTAMP(3) NOT NULL, CONSTRAINT "FileRequirement_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE INDEX IF NOT EXISTS "FileRequirement_roundId_idx" ON "FileRequirement"("roundId"); -- AddForeignKey DO $$ BEGIN ALTER TABLE "FileRequirement" ADD CONSTRAINT "FileRequirement_roundId_fkey" FOREIGN KEY ("roundId") REFERENCES "Round"("id") ON DELETE CASCADE ON UPDATE CASCADE; EXCEPTION WHEN duplicate_object THEN NULL; END $$; -- AlterTable: add requirementId to ProjectFile DO $$ BEGIN ALTER TABLE "ProjectFile" ADD COLUMN "requirementId" TEXT; EXCEPTION WHEN duplicate_column THEN NULL; END $$; -- CreateIndex CREATE INDEX IF NOT EXISTS "ProjectFile_requirementId_idx" ON "ProjectFile"("requirementId"); -- AddForeignKey DO $$ BEGIN ALTER TABLE "ProjectFile" ADD CONSTRAINT "ProjectFile_requirementId_fkey" FOREIGN KEY ("requirementId") REFERENCES "FileRequirement"("id") ON DELETE SET NULL ON UPDATE CASCADE; EXCEPTION WHEN duplicate_object THEN NULL; END $$;