-- ---------------------------------------------------------------------------
-- Tabela de sessão (F1.5). Rodar no deploy, antes de virar o driver.
--
--   mysql -u USUARIO -p franquia_producao < sql/sessoes.mysql.sql
--
-- Guardar sessão no banco em vez de arquivo é o que faz a promoção de failover
-- não deslogar todo mundo: a sessão pega carona na replicação que já existe.
--
-- No PostgreSQL esta tabela sai pronta no schema gerado — ver
-- scripts/gerar-ddl-postgres.php.
-- ---------------------------------------------------------------------------

CREATE TABLE IF NOT EXISTS `sessoes` (
    `id`          varchar(128) NOT NULL,
    `nome`        varchar(128) NOT NULL,
    `dados`       text,
    `duracao`     int          NOT NULL,
    `alterado_em` int          NOT NULL,
    PRIMARY KEY (`id`, `nome`),
    -- A limpeza das expiradas varre por este índice; sem ele vira varredura
    -- completa numa tabela com uma linha por usuário conectado.
    KEY `sessoes_expiracao` (`alterado_em`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
