45 lines
2.0 KiB
SQL
45 lines
2.0 KiB
SQL
-- Garante que a tabela mensagens_whatsapp exista e tenha as colunas corretas.
|
|
|
|
CREATE TABLE IF NOT EXISTS public.mensagens_whatsapp (
|
|
id uuid DEFAULT gen_random_uuid() NOT NULL PRIMARY KEY,
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL,
|
|
telefone_cliente character varying,
|
|
cliente_nome character varying,
|
|
mensagem text,
|
|
tipo character varying DEFAULT 'enviada'::character varying,
|
|
status character varying DEFAULT 'enviada'::character varying,
|
|
evolution_message_id character varying,
|
|
venda_id uuid,
|
|
cobranca_id uuid
|
|
);
|
|
|
|
-- Adiciona colunas que podem estar faltando, sem gerar erro se já existirem.
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT 1 FROM pg_attribute WHERE attrelid = 'public.mensagens_whatsapp'::regclass AND attname = 'venda_id') THEN
|
|
ALTER TABLE public.mensagens_whatsapp ADD COLUMN venda_id uuid;
|
|
END IF;
|
|
IF NOT EXISTS (SELECT 1 FROM pg_attribute WHERE attrelid = 'public.mensagens_whatsapp'::regclass AND attname = 'cobranca_id') THEN
|
|
ALTER TABLE public.mensagens_whatsapp ADD COLUMN cobranca_id uuid;
|
|
END IF;
|
|
IF NOT EXISTS (SELECT 1 FROM pg_attribute WHERE attrelid = 'public.mensagens_whatsapp'::regclass AND attname = 'cliente_nome') THEN
|
|
ALTER TABLE public.mensagens_whatsapp ADD COLUMN cliente_nome character varying;
|
|
END IF;
|
|
IF NOT EXISTS (SELECT 1 FROM pg_attribute WHERE attrelid = 'public.mensagens_whatsapp'::regclass AND attname = 'evolution_message_id') THEN
|
|
ALTER TABLE public.mensagens_whatsapp ADD COLUMN evolution_message_id character varying;
|
|
END IF;
|
|
END;
|
|
$$;
|
|
|
|
-- Adiciona relacionamento com a tabela de vendas, se não existir.
|
|
DO $$
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'mensagens_whatsapp_venda_id_fkey') THEN
|
|
ALTER TABLE public.mensagens_whatsapp ADD CONSTRAINT mensagens_whatsapp_venda_id_fkey FOREIGN KEY (venda_id) REFERENCES public.vendas(id) ON DELETE SET NULL;
|
|
END IF;
|
|
END;
|
|
$$;
|
|
|
|
COMMENT ON TABLE public.mensagens_whatsapp IS 'Armazena o histórico de mensagens enviadas e recebidas pelo WhatsApp.';
|