This commit is contained in:
natib21
2026-06-16 07:03:10 +00:00
parent ab99c96d62
commit 9157e144ad

View File

@@ -2,6 +2,19 @@ import { MigrationInterface, QueryRunner } from 'typeorm';
export class FixOrphanedBookings1718549600000 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
// First, delete orphaned unloading_registrations that reference bookings with invalid yards
await queryRunner.query(`
DELETE FROM "freight"."unloading_registrations"
WHERE "booking_id" IN (
SELECT b."id" FROM "freight"."bookings" b
WHERE (
("origin_yard_id" IS NOT NULL AND "origin_yard_id" NOT IN (SELECT "id" FROM "freight"."yards"))
OR
("destination_yard_id" IS NOT NULL AND "destination_yard_id" NOT IN (SELECT "id" FROM "freight"."yards"))
)
)
`);
// Delete orphaned bookings records with invalid origin_yard_id
await queryRunner.query(`
DELETE FROM "freight"."bookings"
@@ -16,7 +29,7 @@ export class FixOrphanedBookings1718549600000 implements MigrationInterface {
AND "destination_yard_id" NOT IN (SELECT "id" FROM "freight"."yards")
`);
console.log('✅ Deleted orphaned bookings records');
console.log('✅ Deleted orphaned unloading_registrations and bookings records');
}
public async down(_queryRunner: QueryRunner): Promise<void> {