mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-26 12:41:04 +00:00
Migration issue resolution
This commit is contained in:
11
.github/workflows/deploy.yml
vendored
11
.github/workflows/deploy.yml
vendored
@@ -162,6 +162,17 @@ jobs:
|
||||
-t "${COMPOSE_PROJECT_NAME}-${{ matrix.service }}-migration" \
|
||||
.
|
||||
|
||||
- name: Resolve failed migrations for ${{ matrix.service }}
|
||||
if: matrix.service == 'passenger-api'
|
||||
run: |
|
||||
set -euo pipefail
|
||||
docker run --rm --env-file "${SERVICE_ENV_FILE}" \
|
||||
--entrypoint npx \
|
||||
"${COMPOSE_PROJECT_NAME}-${{ matrix.service }}-migration" \
|
||||
prisma migrate resolve \
|
||||
--applied 20260718144855_unique_constraint_schedule_id_seat_id_departure_station_id \
|
||||
|| true
|
||||
|
||||
- name: Run migrations for ${{ matrix.service }}
|
||||
if: contains(fromJson('["passenger-api", "payment-api"]'), matrix.service)
|
||||
run: |
|
||||
|
||||
@@ -4,5 +4,17 @@
|
||||
- A unique constraint covering the columns `[scheduleId,seatId,departureStationId]` on the table `JourneySegment` will be added. If there are existing duplicate values, this will fail.
|
||||
|
||||
*/
|
||||
-- Deduplicate before applying the unique index.
|
||||
-- Keeps the row with the lowest id per (scheduleId, seatId, departureStationId) group.
|
||||
DELETE FROM passenger."JourneySegment"
|
||||
WHERE id NOT IN (
|
||||
SELECT MIN(id)
|
||||
FROM passenger."JourneySegment"
|
||||
WHERE "seatId" IS NOT NULL
|
||||
GROUP BY "scheduleId", "seatId", "departureStationId"
|
||||
)
|
||||
AND "seatId" IS NOT NULL;
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "JourneySegment_scheduleId_seatId_departureStationId_key" ON "JourneySegment"("scheduleId", "seatId", "departureStationId");
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "JourneySegment_scheduleId_seatId_departureStationId_key"
|
||||
ON "JourneySegment"("scheduleId", "seatId", "departureStationId");
|
||||
|
||||
Reference in New Issue
Block a user