e-li-nps/migrations/002_painel_comentarios_status.sql

31 lines
1.2 KiB
SQL

-- e-li.nps: tabelas globais do painel (comentários e status de análise)
--
-- Importante:
-- - o app também cria essas tabelas de forma defensiva em runtime (EnsurePainelTables)
-- - este arquivo é um backup/documentação para ambientes que preferem rodar SQL manual
CREATE TABLE IF NOT EXISTS painel_resposta_status (
produto text NOT NULL,
resposta_id text NOT NULL,
status text NOT NULL CHECK (status IN ('pendente','concluida')),
concluida_em timestamptz NULL,
atualizado_em timestamptz NOT NULL DEFAULT now(),
PRIMARY KEY (produto, resposta_id)
);
CREATE TABLE IF NOT EXISTS painel_resposta_comentario (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
produto text NOT NULL,
resposta_id text NOT NULL,
-- Operador logado no painel no momento da criação do comentário.
pessoa_nome text NOT NULL,
-- ID de sessão do login para aplicar regra: só edita/deleta na mesma sessão.
sessao_id uuid NOT NULL,
comentario text NOT NULL,
criado_em timestamptz NOT NULL DEFAULT now(),
atualizado_em timestamptz NOT NULL DEFAULT now()
);
CREATE INDEX IF NOT EXISTS idx_painel_resp_comentario
ON painel_resposta_comentario (produto, resposta_id, criado_em ASC);