import { MigrationInterface, QueryRunner } from 'typeorm'; /** * Adds freight.contracts.document_snapshot — a per-contract frozen copy of the * contract-document template (articles + WHEREAS recitals) captured at staff * accept. Staff can edit these articles for a single contract before generating * its PDF; the edit never touches the shared six freight.contract_templates * rows. Null on existing contracts → the PDF keeps rendering from the live * template, so this is backward compatible. */ export class AddContractDocumentSnapshot2220000000000 implements MigrationInterface { public async up(queryRunner: QueryRunner): Promise { await queryRunner.query(` ALTER TABLE freight.contracts ADD COLUMN IF NOT EXISTS document_snapshot JSONB; `); } public async down(queryRunner: QueryRunner): Promise { await queryRunner.query(` ALTER TABLE freight.contracts DROP COLUMN IF EXISTS document_snapshot; `); } }