From ef2186e89a4655d7908ae02e70b1436cb3bff51d Mon Sep 17 00:00:00 2001 From: Matt Date: Tue, 7 Apr 2026 13:34:01 -0400 Subject: [PATCH] fix: make EvaluationForm constraint drop idempotent (IF EXISTS) The migration failed on deploy because the constraint EvaluationForm_roundId_version_key did not exist in the target DB. Using DROP CONSTRAINT IF EXISTS makes this safe for databases where the constraint was already removed. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../migration.sql | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/prisma/migrations/20260331000000_add_evaluation_form_category/migration.sql b/prisma/migrations/20260331000000_add_evaluation_form_category/migration.sql index c179ae1..0cc2a9c 100644 --- a/prisma/migrations/20260331000000_add_evaluation_form_category/migration.sql +++ b/prisma/migrations/20260331000000_add_evaluation_form_category/migration.sql @@ -1,8 +1,9 @@ -- AlterTable: add nullable category column to EvaluationForm ALTER TABLE "EvaluationForm" ADD COLUMN "category" "CompetitionCategory"; --- Drop old unique constraint -ALTER TABLE "EvaluationForm" DROP CONSTRAINT "EvaluationForm_roundId_version_key"; +-- Drop old unique constraint (IF EXISTS — may not exist on fresh databases where +-- the constraint was never created or was already removed by an earlier migration) +ALTER TABLE "EvaluationForm" DROP CONSTRAINT IF EXISTS "EvaluationForm_roundId_version_key"; -- Add new unique constraint including category ALTER TABLE "EvaluationForm" ADD CONSTRAINT "EvaluationForm_roundId_version_category_key" UNIQUE ("roundId", "version", "category");