mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-30 05:18:11 +00:00
fix migration
This commit is contained in:
@@ -6,14 +6,43 @@ import { MigrationInterface, QueryRunner, TableColumn } from 'typeorm';
|
||||
*/
|
||||
export class AddProofOfDeliveryToCargoes1750000000002 implements MigrationInterface {
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.addColumns('freight.cargoes', [
|
||||
new TableColumn({ name: 'receiver_name', type: 'varchar', isNullable: true }),
|
||||
new TableColumn({ name: 'delivered_at', type: 'timestamp', isNullable: true }),
|
||||
new TableColumn({ name: 'delivery_remarks', type: 'text', isNullable: true }),
|
||||
]);
|
||||
const table = await queryRunner.getTable('freight.cargoes');
|
||||
if (!table) {
|
||||
// cargoes table doesn't exist yet, skip this migration
|
||||
return;
|
||||
}
|
||||
|
||||
const columnsToAdd = [
|
||||
{ name: 'receiver_name', type: 'varchar', isNullable: true },
|
||||
{ name: 'delivered_at', type: 'timestamp', isNullable: true },
|
||||
{ name: 'delivery_remarks', type: 'text', isNullable: true },
|
||||
];
|
||||
|
||||
const columnsToCreate = columnsToAdd.filter(
|
||||
(col) => !table.columns.some((c) => c.name === col.name),
|
||||
);
|
||||
|
||||
if (columnsToCreate.length > 0) {
|
||||
await queryRunner.addColumns(
|
||||
'freight.cargoes',
|
||||
columnsToCreate.map((col) => new TableColumn(col)),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.dropColumns('freight.cargoes', ['receiver_name', 'delivered_at', 'delivery_remarks']);
|
||||
const table = await queryRunner.getTable('freight.cargoes');
|
||||
if (!table) {
|
||||
return;
|
||||
}
|
||||
|
||||
const columnNames = ['receiver_name', 'delivered_at', 'delivery_remarks'];
|
||||
const columnsToRemove = columnNames.filter((name) =>
|
||||
table.columns.some((c) => c.name === name),
|
||||
);
|
||||
|
||||
if (columnsToRemove.length > 0) {
|
||||
await queryRunner.dropColumns('freight.cargoes', columnsToRemove);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user