mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-09-08 05:25:41 +00:00
fix
This commit is contained in:
@@ -2,6 +2,19 @@ import { MigrationInterface, QueryRunner } from 'typeorm';
|
|||||||
|
|
||||||
export class FixOrphanedBookings1718549600000 implements MigrationInterface {
|
export class FixOrphanedBookings1718549600000 implements MigrationInterface {
|
||||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
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
|
// Delete orphaned bookings records with invalid origin_yard_id
|
||||||
await queryRunner.query(`
|
await queryRunner.query(`
|
||||||
DELETE FROM "freight"."bookings"
|
DELETE FROM "freight"."bookings"
|
||||||
@@ -16,7 +29,7 @@ export class FixOrphanedBookings1718549600000 implements MigrationInterface {
|
|||||||
AND "destination_yard_id" NOT IN (SELECT "id" FROM "freight"."yards")
|
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> {
|
public async down(_queryRunner: QueryRunner): Promise<void> {
|
||||||
|
|||||||
Reference in New Issue
Block a user