Kuma/prisma/migrations/20260913190000_discount_redemption_reservation/migration.sql
2026-09-13 19:58:17 +02:00

30 lines
1.3 KiB
SQL

-- DropForeignKey
ALTER TABLE "DiscountRedemption" DROP CONSTRAINT "DiscountRedemption_bookingId_fkey";
-- DropIndex
DROP INDEX "DiscountRedemption_bookingId_key";
-- AlterTable
ALTER TABLE "DiscountRedemption"
ADD COLUMN "stripeSessionId" TEXT,
ADD COLUMN "status" TEXT NOT NULL DEFAULT 'reserved',
ALTER COLUMN "bookingId" DROP NOT NULL;
-- Tabelle ist zu diesem Zeitpunkt leer (siehe vorherige Migration), daher
-- ist ein Backfill für die neue NOT NULL-Spalte stripeSessionId nicht nötig -
-- UPDATE würde ohnehin keine Zeile treffen. Erst danach kann die Spalte auf
-- NOT NULL gesetzt werden, weil ALTER COLUMN ... SET NOT NULL sonst bereits
-- vorhandene NULL-Werte prüfen würde.
ALTER TABLE "DiscountRedemption" ALTER COLUMN "stripeSessionId" SET NOT NULL;
-- CreateIndex
CREATE UNIQUE INDEX "DiscountRedemption_stripeSessionId_key" ON "DiscountRedemption"("stripeSessionId");
-- CreateIndex
CREATE UNIQUE INDEX "DiscountRedemption_bookingId_key" ON "DiscountRedemption"("bookingId");
-- CreateIndex
CREATE INDEX "DiscountRedemption_status_idx" ON "DiscountRedemption"("status");
-- AddForeignKey
ALTER TABLE "DiscountRedemption" ADD CONSTRAINT "DiscountRedemption_bookingId_fkey" FOREIGN KEY ("bookingId") REFERENCES "CourseBooking"("id") ON DELETE SET NULL ON UPDATE CASCADE;