diff --git a/apps/edr-passenger-api/prisma/migrations/20260626_fix_missing_booking_columns/migration.sql b/apps/edr-passenger-api/prisma/migrations/20260626_fix_missing_booking_columns/migration.sql new file mode 100644 index 000000000..4f828f075 --- /dev/null +++ b/apps/edr-passenger-api/prisma/migrations/20260626_fix_missing_booking_columns/migration.sql @@ -0,0 +1,38 @@ +-- Fix missing columns from 20260617 migration (failed due to missing schema prefix) +ALTER TABLE "passenger"."Booking" + ADD COLUMN IF NOT EXISTS "returnScheduleId" TEXT, + ADD COLUMN IF NOT EXISTS "returnOriginStationId" TEXT, + ADD COLUMN IF NOT EXISTS "returnDestinationStationId" TEXT, + ADD COLUMN IF NOT EXISTS "returnHoldId" TEXT, + ADD COLUMN IF NOT EXISTS "returnSeatClassId" TEXT; + +ALTER TABLE "passenger"."SeatClass" ALTER COLUMN "baseFareMinor" SET DEFAULT 0; +ALTER TABLE "passenger"."Ticket" ALTER COLUMN "status" SET DEFAULT 'ACTIVE'; + +CREATE INDEX IF NOT EXISTS "Booking_bookingType_idx" ON "passenger"."Booking"("bookingType"); + +-- Transit leg-2 columns (never migrated) +ALTER TABLE "passenger"."Booking" + ADD COLUMN IF NOT EXISTS "leg2ScheduleId" TEXT, + ADD COLUMN IF NOT EXISTS "leg2OriginStationId" TEXT, + ADD COLUMN IF NOT EXISTS "leg2DestinationStationId" TEXT, + ADD COLUMN IF NOT EXISTS "leg2SeatClassId" TEXT, + ADD COLUMN IF NOT EXISTS "returnLeg2ScheduleId" TEXT, + ADD COLUMN IF NOT EXISTS "returnLeg2OriginStationId" TEXT, + ADD COLUMN IF NOT EXISTS "returnLeg2DestStationId" TEXT, + ADD COLUMN IF NOT EXISTS "returnLeg2SeatClassId" TEXT; + +-- ReturnLegStatus enum + columns (from 20260625 migration, may have also failed) +DO $$ BEGIN + CREATE TYPE "passenger"."ReturnLegStatus" AS ENUM ( + 'NOT_APPLICABLE', 'BOTH_USED', 'OUTBOUND_ONLY', 'INBOUND_ONLY', 'NEITHER_USED' + ); +EXCEPTION WHEN duplicate_object THEN NULL; END $$; + +ALTER TABLE "passenger"."Booking" + ADD COLUMN IF NOT EXISTS "returnLegStatus" "passenger"."ReturnLegStatus" NOT NULL DEFAULT 'NOT_APPLICABLE', + ADD COLUMN IF NOT EXISTS "outboundBoardedAt" TIMESTAMP(3), + ADD COLUMN IF NOT EXISTS "returnBoardedAt" TIMESTAMP(3); + +ALTER TABLE "passenger"."GateValidationLog" + ADD COLUMN IF NOT EXISTS "leg" TEXT;