Primeiro commit
This commit is contained in:
38
sql/create-mensagens-whatsapp.sql
Normal file
38
sql/create-mensagens-whatsapp.sql
Normal file
@@ -0,0 +1,38 @@
|
||||
-- Criar tabela para histórico de mensagens WhatsApp
|
||||
CREATE TABLE IF NOT EXISTS mensagens_whatsapp (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
telefone_cliente VARCHAR(20) NOT NULL,
|
||||
cliente_nome VARCHAR(255),
|
||||
mensagem TEXT NOT NULL,
|
||||
tipo VARCHAR(20) NOT NULL CHECK (tipo IN ('enviada', 'recebida')),
|
||||
status VARCHAR(20) DEFAULT 'enviada' CHECK (status IN ('enviando', 'enviada', 'entregue', 'lida', 'erro')),
|
||||
evolution_message_id VARCHAR(255),
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Índices para performance
|
||||
CREATE INDEX IF NOT EXISTS idx_mensagens_telefone ON mensagens_whatsapp(telefone_cliente);
|
||||
CREATE INDEX IF NOT EXISTS idx_mensagens_created_at ON mensagens_whatsapp(created_at);
|
||||
CREATE INDEX IF NOT EXISTS idx_mensagens_tipo ON mensagens_whatsapp(tipo);
|
||||
|
||||
-- Trigger para atualizar updated_at
|
||||
CREATE OR REPLACE FUNCTION update_mensagens_whatsapp_updated_at()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
NEW.updated_at = NOW();
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ language 'plpgsql';
|
||||
|
||||
CREATE TRIGGER update_mensagens_whatsapp_updated_at
|
||||
BEFORE UPDATE ON mensagens_whatsapp
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_mensagens_whatsapp_updated_at();
|
||||
|
||||
-- Comentários para documentação
|
||||
COMMENT ON TABLE mensagens_whatsapp IS 'Histórico de mensagens WhatsApp enviadas e recebidas';
|
||||
COMMENT ON COLUMN mensagens_whatsapp.telefone_cliente IS 'Número do telefone do cliente (apenas números)';
|
||||
COMMENT ON COLUMN mensagens_whatsapp.tipo IS 'Tipo da mensagem: enviada (pelo sistema) ou recebida (do cliente)';
|
||||
COMMENT ON COLUMN mensagens_whatsapp.status IS 'Status da mensagem: enviando, enviada, entregue, lida, erro';
|
||||
COMMENT ON COLUMN mensagens_whatsapp.evolution_message_id IS 'ID da mensagem na Evolution API para tracking';
|
||||
Reference in New Issue
Block a user