feat: add deletion of related bookings and fare rules to seedSchedules function

This commit is contained in:
Stephanos A
2026-05-29 16:02:31 +03:00
parent 939b2718d3
commit a0b5eb1e92

View File

@@ -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 } } });