-- ============================================================
-- Migration 022 DOWN — Reverte 4ª col snapshot + restaura triggers da Migration 020
-- ============================================================

SET SESSION sql_mode = '';

-- Recria triggers SEM agente_tabela_cod_snap (estado pos-Migration 020)
DROP TRIGGER IF EXISTS trg_agente_snapshot_faturamento_bi;

CREATE TRIGGER trg_agente_snapshot_faturamento_bi
BEFORE INSERT ON tbl_Faturamento
FOR EACH ROW
SET NEW.agente_cod_snap = IFNULL(NEW.agente_cod_snap, (SELECT p.agente_cod_snap FROM tbl_Pedido p WHERE p.cod_Pedido = NEW.pedido_id LIMIT 1)),
    NEW.agente_pct_snap = IFNULL(NEW.agente_pct_snap, (SELECT p.agente_pct_snap FROM tbl_Pedido p WHERE p.cod_Pedido = NEW.pedido_id LIMIT 1)),
    NEW.agente_modalidade_snap = IFNULL(NEW.agente_modalidade_snap, (SELECT p.agente_modalidade_snap FROM tbl_Pedido p WHERE p.cod_Pedido = NEW.pedido_id LIMIT 1));

DROP TRIGGER IF EXISTS trg_agente_snapshot_histpedido_bi;

CREATE TRIGGER trg_agente_snapshot_histpedido_bi
BEFORE INSERT ON tbl_HistPedido
FOR EACH ROW
SET NEW.agente_cod_snap = IFNULL(NEW.agente_cod_snap, (SELECT p.agente_cod_snap FROM tbl_Pedido p WHERE p.cod_Pedido = NEW.cod_Pedido LIMIT 1)),
    NEW.agente_pct_snap = IFNULL(NEW.agente_pct_snap, (SELECT p.agente_pct_snap FROM tbl_Pedido p WHERE p.cod_Pedido = NEW.cod_Pedido LIMIT 1)),
    NEW.agente_modalidade_snap = IFNULL(NEW.agente_modalidade_snap, (SELECT p.agente_modalidade_snap FROM tbl_Pedido p WHERE p.cod_Pedido = NEW.cod_Pedido LIMIT 1));

-- DROP COLUMN das 3 tabelas
ALTER TABLE tbl_HistPedido DROP COLUMN agente_tabela_cod_snap;
ALTER TABLE tbl_Faturamento DROP INDEX idx_fat_agente_tab_snap, DROP COLUMN agente_tabela_cod_snap;
ALTER TABLE tbl_Pedido DROP INDEX idx_pedido_agente_tab_snap, DROP COLUMN agente_tabela_cod_snap;
