-- Migration 007 — CREATE 4 tabelas historico-sombra
-- Estrutura comum: campo, valor_antigo, valor_novo, alterado_at/by, origem
-- Card: AP#11

CREATE TABLE IF NOT EXISTS agente_hist_detalhe (
  id INT PRIMARY KEY AUTO_INCREMENT,
  cod_Representante INT NOT NULL,
  campo VARCHAR(80) NOT NULL,
  valor_antigo TEXT NULL,
  valor_novo TEXT NULL,
  alterado_at DATETIME NOT NULL,
  alterado_by INT NOT NULL,
  origem VARCHAR(120) NOT NULL,
  INDEX idx_hist_det_repr (cod_Representante, alterado_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS agente_hist_apuracao (
  id INT PRIMARY KEY AUTO_INCREMENT,
  apuracao_id INT NOT NULL,
  campo VARCHAR(80) NOT NULL,
  valor_antigo TEXT NULL,
  valor_novo TEXT NULL,
  alterado_at DATETIME NOT NULL,
  alterado_by INT NOT NULL,
  origem VARCHAR(120) NOT NULL,
  INDEX idx_hist_apur (apuracao_id, alterado_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS agente_hist_lote (
  id INT PRIMARY KEY AUTO_INCREMENT,
  lote_id INT NOT NULL,
  campo VARCHAR(80) NOT NULL,
  valor_antigo TEXT NULL,
  valor_novo TEXT NULL,
  alterado_at DATETIME NOT NULL,
  alterado_by INT NOT NULL,
  origem VARCHAR(120) NOT NULL,
  INDEX idx_hist_lote (lote_id, alterado_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS agente_hist_tabela_preco (
  id INT PRIMARY KEY AUTO_INCREMENT,
  agente_tabela_preco_id INT NOT NULL,
  campo VARCHAR(80) NOT NULL,
  valor_antigo TEXT NULL,
  valor_novo TEXT NULL,
  alterado_at DATETIME NOT NULL,
  alterado_by INT NOT NULL,
  origem VARCHAR(120) NOT NULL,
  INDEX idx_hist_atp (agente_tabela_preco_id, alterado_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
