-- ============================================================
-- Migração: fila de investigação (reagendamentos)
-- Data   : 2026-07-20
-- Seguro : idempotente — CREATE TABLE IF NOT EXISTS.
--          O sistema também cria esta tabela sozinho na primeira
--          vez que a Fila de Investigação é acessada; este
--          arquivo serve para execução manual/documentação.
-- ============================================================

-- A fila em si NÃO é uma tabela — é calculada a partir de sinais
-- que já existem em `contatos` (falhas de WhatsApp/e-mail, cadastro
-- sem confirmar há 12+ meses). Esta tabela guarda só uma coisa:
-- quando alguém pede "sem resposta, tente de novo depois", o
-- contato some da fila até a data marcada.

CREATE TABLE IF NOT EXISTS fila_reagendamentos (
    id              INT AUTO_INCREMENT PRIMARY KEY,
    contact_id      INT UNSIGNED NOT NULL,
    motivo          VARCHAR(255) NULL,
    reagendado_para DATE NOT NULL,
    criado_em       DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    criado_por      INT NULL,
    UNIQUE KEY uq_contact (contact_id),
    KEY idx_reagendado_para (reagendado_para)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Quando o contato é resolvido por outra via (dados confirmados,
-- óbito, desligamento), a linha correspondente pode ser removida —
-- o código faz isso automaticamente, mas também não há problema em
-- deixá-la: como a condição de entrada na fila deixa de ser
-- verdadeira, o contato não volta a aparecer de qualquer forma.
