This commit is contained in:
natib21
2026-06-16 07:17:21 +00:00
parent 9157e144ad
commit deae339887
3 changed files with 0 additions and 81 deletions

View File

@@ -1,18 +0,0 @@
import { MigrationInterface, QueryRunner } from 'typeorm';
export class FixOrphanedRouteMilestones1718549400000 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
// Delete orphaned route_milestones records (yard_id is NOT NULL, cannot be set to null)
await queryRunner.query(`
DELETE FROM "freight"."route_milestones"
WHERE "yard_id" IS NOT NULL
AND "yard_id" NOT IN (SELECT "id" FROM "freight"."yards")
`);
console.log('✅ Deleted orphaned route_milestones records');
}
public async down(_queryRunner: QueryRunner): Promise<void> {
// No rollback needed for data cleanup
}
}

View File

@@ -1,25 +0,0 @@
import { MigrationInterface, QueryRunner } from 'typeorm';
export class FixOrphanedRoutes1718549500000 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
// Delete orphaned routes records with invalid origin_yard_id
await queryRunner.query(`
DELETE FROM "freight"."routes"
WHERE "origin_yard_id" IS NOT NULL
AND "origin_yard_id" NOT IN (SELECT "id" FROM "freight"."yards")
`);
// Also clean up destination_yard_id if it exists and has the same issue
await queryRunner.query(`
DELETE FROM "freight"."routes"
WHERE "destination_yard_id" IS NOT NULL
AND "destination_yard_id" NOT IN (SELECT "id" FROM "freight"."yards")
`);
console.log('✅ Deleted orphaned routes records');
}
public async down(_queryRunner: QueryRunner): Promise<void> {
// No rollback needed for data cleanup
}
}

View File

@@ -1,38 +0,0 @@
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"
WHERE "origin_yard_id" IS NOT NULL
AND "origin_yard_id" NOT IN (SELECT "id" FROM "freight"."yards")
`);
// Also clean up destination_yard_id if it exists and has the same issue
await queryRunner.query(`
DELETE FROM "freight"."bookings"
WHERE "destination_yard_id" IS NOT NULL
AND "destination_yard_id" NOT IN (SELECT "id" FROM "freight"."yards")
`);
console.log('✅ Deleted orphaned unloading_registrations and bookings records');
}
public async down(_queryRunner: QueryRunner): Promise<void> {
// No rollback needed for data cleanup
}
}