-- Cadastro de bases + vínculo por idbase na tabela empresas

CREATE TABLE IF NOT EXISTS bases (
    idbase INT AUTO_INCREMENT PRIMARY KEY,
    nome_base VARCHAR(100) NOT NULL,
    ativa CHAR(1) NOT NULL DEFAULT 'S',
    data_criacao TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    UNIQUE KEY uk_nome_base (nome_base)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

ALTER TABLE empresas
ADD COLUMN IF NOT EXISTS idbase INT NULL AFTER BASE;

CREATE INDEX IF NOT EXISTS idx_empresas_idbase ON empresas(idbase);

-- Migração dos dados legados (BASE texto -> tabela bases)
INSERT IGNORE INTO bases (nome_base)
SELECT DISTINCT TRIM(BASE)
FROM empresas
WHERE BASE IS NOT NULL
  AND TRIM(BASE) <> '';

UPDATE empresas e
INNER JOIN bases b ON b.nome_base = TRIM(e.BASE)
SET e.idbase = b.idbase
WHERE (e.idbase IS NULL OR e.idbase = 0)
  AND e.BASE IS NOT NULL
  AND TRIM(e.BASE) <> '';
