Source: config/migrations/20260603-add-transaction-display-fields.js

export const id = '20260603-add-transaction-display-fields';
export const name = 'Add denormalized display fields to Transactions (TotalAmount, DebitAccountNumber, CreditAccountNumber, DocumentCount)';
export const DRY_RUN = false;

/**
 * Adds denormalized columns to Transactions so the transaction list
 * can be fetched without JOINing on TransactionLines every time.
 */
export const migrate = async ({ query }) => {
    await query('SET @@system_versioning_alter_history = 1', []);
    await query(`
        ALTER TABLE Transactions
        ADD COLUMN IF NOT EXISTS \`TotalAmount\` decimal(12,2) DEFAULT NULL AFTER \`Status\`
    `, []);
    await query(`
        ALTER TABLE Transactions
        ADD COLUMN IF NOT EXISTS \`DebitAccountNumber\` varchar(10) DEFAULT NULL AFTER \`TotalAmount\`
    `, []);

    await query('SET @@system_versioning_alter_history = 0', []);
};