import { MigrationInterface, QueryRunner } from 'typeorm'; /** * Bulk / break-bulk freight can now declare HOW MUCH of the cargo is hazardous * or refrigerated, in the cargo's own unit of measure (tons for PER_TON, item * count for PER_ITEM). These two columns hold that amount on the booking; they * stay 0 for container freight (which tracks it per line on booking_container) * and for bulk cargo with no hazardous/reefer portion. The existing * is_hazardous / is_reefer booleans remain the surcharge trigger. */ export class AddBulkHazmatReeferQuantity1828000000000 implements MigrationInterface { name = 'AddBulkHazmatReeferQuantity1828000000000'; public async up(queryRunner: QueryRunner): Promise { await queryRunner.query( `ALTER TABLE freight.bookings ADD COLUMN IF NOT EXISTS bulk_hazardous_quantity NUMERIC(12,3) NOT NULL DEFAULT 0;`, ); await queryRunner.query( `ALTER TABLE freight.bookings ADD COLUMN IF NOT EXISTS bulk_reefer_quantity NUMERIC(12,3) NOT NULL DEFAULT 0;`, ); } public async down(queryRunner: QueryRunner): Promise { await queryRunner.query( `ALTER TABLE freight.bookings DROP COLUMN IF EXISTS bulk_reefer_quantity;`, ); await queryRunner.query( `ALTER TABLE freight.bookings DROP COLUMN IF EXISTS bulk_hazardous_quantity;`, ); } }