Kuma/prisma/migrations/20261003100000_multi_seat_bookings/migration.sql
2026-10-02 01:28:49 +02:00

24 lines
828 B
SQL

-- Mehrfachbuchung: eine Buchung kann mehrere Plätze umfassen.
-- AlterTable
ALTER TABLE "CourseBooking" ADD COLUMN "refundedFeeAmount" INTEGER,
ADD COLUMN "seats" INTEGER NOT NULL DEFAULT 1,
ADD COLUMN "seatsPurchased" INTEGER NOT NULL DEFAULT 1,
ADD COLUMN "spotIds" TEXT[] DEFAULT ARRAY[]::TEXT[],
ADD COLUMN "spotLabels" TEXT[] DEFAULT ARRAY[]::TEXT[];
-- Bestehende Platzwahl-Buchungen übernehmen (ein Platz pro Buchung)
UPDATE "CourseBooking"
SET "spotIds" = ARRAY["spotId"],
"spotLabels" = ARRAY[COALESCE("spotLabel", '')]
WHERE "spotId" IS NOT NULL;
-- DropIndex
DROP INDEX "CourseBooking_spotId_idx";
-- AlterTable
ALTER TABLE "CourseBooking" DROP COLUMN "spotId",
DROP COLUMN "spotLabel";
-- CreateIndex
CREATE INDEX "CourseBooking_spotIds_idx" ON "CourseBooking" USING GIN ("spotIds");