mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-27 19:00:55 +00:00
51 lines
1.7 KiB
TypeScript
51 lines
1.7 KiB
TypeScript
import { MigrationInterface, QueryRunner, TableColumn } from 'typeorm';
|
|
|
|
/**
|
|
* Add driver assignment fields to vehicles table
|
|
*/
|
|
export class AddVehicleDriverAssignment1800000000001 implements MigrationInterface {
|
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
const vehiclesTable = await queryRunner.getTable('freight.vehicles');
|
|
if (vehiclesTable) {
|
|
const hasAssignedDriverId = vehiclesTable.columns.some((col) => col.name === 'assigned_driver_id');
|
|
if (!hasAssignedDriverId) {
|
|
await queryRunner.addColumn(
|
|
'freight.vehicles',
|
|
new TableColumn({
|
|
name: 'assigned_driver_id',
|
|
type: 'uuid',
|
|
isNullable: true,
|
|
}),
|
|
);
|
|
}
|
|
|
|
const hasAssignedDriverName = vehiclesTable.columns.some((col) => col.name === 'assigned_driver_name');
|
|
if (!hasAssignedDriverName) {
|
|
await queryRunner.addColumn(
|
|
'freight.vehicles',
|
|
new TableColumn({
|
|
name: 'assigned_driver_name',
|
|
type: 'varchar',
|
|
isNullable: true,
|
|
}),
|
|
);
|
|
}
|
|
}
|
|
}
|
|
|
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
const vehiclesTable = await queryRunner.getTable('freight.vehicles');
|
|
if (vehiclesTable) {
|
|
const hasAssignedDriverId = vehiclesTable.columns.some((col) => col.name === 'assigned_driver_id');
|
|
if (hasAssignedDriverId) {
|
|
await queryRunner.dropColumn('freight.vehicles', 'assigned_driver_id');
|
|
}
|
|
|
|
const hasAssignedDriverName = vehiclesTable.columns.some((col) => col.name === 'assigned_driver_name');
|
|
if (hasAssignedDriverName) {
|
|
await queryRunner.dropColumn('freight.vehicles', 'assigned_driver_name');
|
|
}
|
|
}
|
|
}
|
|
}
|