-- ============================================================================
-- Migration 014 DOWN — Reverter propagacao do snapshot do agente
-- ============================================================================
-- Card: INT#5
-- Data: 08/05/2026
--
-- Ordem do rollback (inverso da .up.sql):
--   1. DROP TRIGGER (livra a tabela tbl_Faturamento de logica embutida)
--   2. DROP COLUMN agente_snap_override em tbl_Pedido
--   3. DROP INDEX + DROP COLUMN das 3 snapshot em tbl_Faturamento
--
-- Apos rollback:
--   * tbl_Faturamento volta ao schema pre-migration (sem 3 colunas snapshot, sem trigger).
--   * tbl_Pedido volta ao schema pre-migration (sem agente_snap_override).
--   * Procedures pr_generate_* permanecem intactas (nunca foram tocadas).
--   * Linhas existentes em tbl_Faturamento perdem dados das 3 colunas snapshot
--     (DROP COLUMN apaga). Sem rollback de dados — eles sao re-derivaveis via JOIN
--     com tbl_Pedido pelo pedido_id quando precisar.
-- ============================================================================

-- 1) DROP TRIGGER
DROP TRIGGER IF EXISTS trg_agente_snapshot_faturamento_bi;

-- 2) DROP COLUMN tbl_Pedido.agente_snap_override
ALTER TABLE tbl_Pedido
  DROP COLUMN agente_snap_override;

-- 3) DROP INDEX + DROP COLUMNs em tbl_Faturamento
ALTER TABLE tbl_Faturamento
  DROP INDEX idx_faturamento_agente_cod_snap,
  DROP COLUMN agente_modalidade_snap,
  DROP COLUMN agente_pct_snap,
  DROP COLUMN agente_cod_snap;
