mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-28 12:30:58 +00:00
48 lines
1.7 KiB
TypeScript
48 lines
1.7 KiB
TypeScript
import { AppDataSource } from '../data-source';
|
|
import { SeedEdRWagonFleet1750400000000 } from '../migrations/1750400000000-SeedEdRWagonFleet';
|
|
|
|
async function seedEdRWagons() {
|
|
await AppDataSource.initialize();
|
|
|
|
const queryRunner = AppDataSource.createQueryRunner();
|
|
|
|
try {
|
|
await queryRunner.connect();
|
|
await queryRunner.startTransaction();
|
|
|
|
await new SeedEdRWagonFleet1750400000000().up(queryRunner);
|
|
|
|
const [summary] = await queryRunner.query(`
|
|
SELECT
|
|
COUNT(*)::int AS total,
|
|
COUNT(*) FILTER (WHERE wt.code = 'PW2')::int AS pw2,
|
|
COUNT(*) FILTER (WHERE wt.code = 'CW4')::int AS cw4,
|
|
COUNT(*) FILTER (WHERE wt.code = 'CW3')::int AS cw3,
|
|
COUNT(*) FILTER (WHERE wt.code = 'KW2')::int AS kw2,
|
|
COUNT(*) FILTER (WHERE wt.code = 'KW3')::int AS kw3,
|
|
COUNT(*) FILTER (WHERE wt.code = 'NW5')::int AS nw5,
|
|
COUNT(*) FILTER (WHERE wt.supported_load_types @> ARRAY['CONTAINER'])::int AS container_ready,
|
|
COUNT(*) FILTER (WHERE wt.supported_load_types @> ARRAY['BULK'])::int AS bulk_ready,
|
|
COUNT(*) FILTER (WHERE w.status = 'IMPORT_READY')::int AS import_ready
|
|
FROM freight.wagons w
|
|
JOIN freight.wagon_types wt ON wt.id = w.wagon_type_id
|
|
WHERE w.wagon_number BETWEEN 'ER0001' AND 'ER0940';
|
|
`);
|
|
|
|
await queryRunner.commitTransaction();
|
|
|
|
console.log('Seeded EDR wagon fleet:', summary);
|
|
} catch (error) {
|
|
await queryRunner.rollbackTransaction();
|
|
throw error;
|
|
} finally {
|
|
await queryRunner.release();
|
|
await AppDataSource.destroy();
|
|
}
|
|
}
|
|
|
|
seedEdRWagons().catch((error) => {
|
|
console.error('Failed to seed EDR wagon fleet:', error);
|
|
process.exit(1);
|
|
});
|