mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-26 18:42:49 +00:00
feat: add deletion of related bookings and fare rules to seedSchedules function
This commit is contained in:
@@ -164,6 +164,15 @@ async function seedSchedules(trains: any[], stations: any[]) {
|
|||||||
})).map((s) => s.id);
|
})).map((s) => s.id);
|
||||||
|
|
||||||
if (existingScheduleIds.length > 0) {
|
if (existingScheduleIds.length > 0) {
|
||||||
|
// Delete in correct order to avoid foreign key constraints
|
||||||
|
await prisma.bookingSeat.deleteMany({
|
||||||
|
where: {
|
||||||
|
booking: {
|
||||||
|
scheduleId: { in: existingScheduleIds }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
await prisma.booking.deleteMany({ where: { scheduleId: { in: existingScheduleIds } } });
|
||||||
await prisma.fareRule.deleteMany({ where: { tripId: { in: existingScheduleIds } } });
|
await prisma.fareRule.deleteMany({ where: { tripId: { in: existingScheduleIds } } });
|
||||||
await prisma.tripStopTime.deleteMany({ where: { scheduleId: { in: existingScheduleIds } } });
|
await prisma.tripStopTime.deleteMany({ where: { scheduleId: { in: existingScheduleIds } } });
|
||||||
await prisma.coachAssignment.deleteMany({ where: { scheduleId: { in: existingScheduleIds } } });
|
await prisma.coachAssignment.deleteMany({ where: { scheduleId: { in: existingScheduleIds } } });
|
||||||
|
|||||||
Reference in New Issue
Block a user