diff --git a/README.md b/README.md index d46965d..3646cd3 100644 --- a/README.md +++ b/README.md @@ -138,6 +138,90 @@ Antes de iniciar, certifique-se de que você já tem instalado: ); ``` +## 🛠️ OBRIGATORIO ❗ - 🚨 CORREÇÃO NO BANCO DE DADOS DO CHATWOOT ⚠️ +### Aplique essa coreção caso esteja enfrantando problemas de não achar os contatos da campanha + +- Foi notado que os ID da tabela "labels" não condizia com os id ta tabela "tags" sendo assim criei algumas funções e triggers que corrigem esse problema. + +5. **Criação das Funções de Replicação, Exclusão e Atualização** + +***Cria na raiz do banco de dados*** + +**Função para replicar inserções:** + +```sql +CREATE OR REPLACE FUNCTION replicate_labels_to_tags() +RETURNS TRIGGER AS $$ +BEGIN + INSERT INTO tags (id, name) + VALUES (NEW.id, NEW.title); + RETURN NEW; +END; +$$ LANGUAGE plpgsql; +``` + +**Função para replicar exclusões:** + +```sql +CREATE OR REPLACE FUNCTION delete_labels_from_tags_and_taggings() +RETURNS TRIGGER AS $$ +BEGIN + -- Exclui da tabela tags + DELETE FROM tags WHERE id = OLD.id; + -- Exclui da tabela taggings + DELETE FROM taggings WHERE tag_id = OLD.id; + RETURN OLD; +END; +$$ LANGUAGE plpgsql; +``` + +**Função para replicar atualizações:** + +```sql +CREATE OR REPLACE FUNCTION update_labels_to_tags() +RETURNS TRIGGER AS $$ +BEGIN + UPDATE tags + SET name = NEW.title + WHERE id = NEW.id; + RETURN NEW; +END; +$$ LANGUAGE plpgsql; +``` + +6. **Criação dos Triggers** + +***Criar na tabela labels*** + +**Trigger para inserções:** + +```sql +CREATE TRIGGER after_insert_labels +AFTER INSERT ON labels +FOR EACH ROW +EXECUTE FUNCTION replicate_labels_to_tags(); +``` + +**Trigger para exclusões:** + +```sql +CREATE TRIGGER after_delete_labels +AFTER DELETE ON labels +FOR EACH ROW +EXECUTE FUNCTION delete_labels_from_tags_and_taggings(); +``` + +**Trigger para atualizações:** + +```sql +CREATE TRIGGER after_update_labels +AFTER UPDATE ON labels +FOR EACH ROW +EXECUTE FUNCTION update_labels_to_tags(); +``` + +--- + ### Passo 3: Importar Workflows no n8n 1. **Acesse o n8n**: Faça login na sua instância do n8n. @@ -216,90 +300,6 @@ Agora tudo está pronto para enviar a sua campanha! --- -## 🛠️ EXTRA - CORREÇÃO NO BANCO DE DADOS DO CHATWOOT 🔧 -### Aplique essa coreção caso esteja enfrantando problemas de não achar os contatos da campanha - -- Foi notado que os ID da tabela "labels" não condizia com os id ta tabela "tags" sendo assim criei algumas funções e triggers que corrigem esse problema. - -**Passo 1: Criação das Funções de Replicação, Exclusão e Atualização** - -***Cria na raiz do banco de dados*** - -**Função para replicar inserções:** - -```sql -CREATE OR REPLACE FUNCTION replicate_labels_to_tags() -RETURNS TRIGGER AS $$ -BEGIN - INSERT INTO tags (id, name) - VALUES (NEW.id, NEW.title); - RETURN NEW; -END; -$$ LANGUAGE plpgsql; -``` - -**Função para replicar exclusões:** - -```sql -CREATE OR REPLACE FUNCTION delete_labels_from_tags_and_taggings() -RETURNS TRIGGER AS $$ -BEGIN - -- Exclui da tabela tags - DELETE FROM tags WHERE id = OLD.id; - -- Exclui da tabela taggings - DELETE FROM taggings WHERE tag_id = OLD.id; - RETURN OLD; -END; -$$ LANGUAGE plpgsql; -``` - -**Função para replicar atualizações:** - -```sql -CREATE OR REPLACE FUNCTION update_labels_to_tags() -RETURNS TRIGGER AS $$ -BEGIN - UPDATE tags - SET name = NEW.title - WHERE id = NEW.id; - RETURN NEW; -END; -$$ LANGUAGE plpgsql; -``` - -**Passo 2: Criação dos Triggers** - -***Criar na tabela labels*** - -**Trigger para inserções:** - -```sql -CREATE TRIGGER after_insert_labels -AFTER INSERT ON labels -FOR EACH ROW -EXECUTE FUNCTION replicate_labels_to_tags(); -``` - -**Trigger para exclusões:** - -```sql -CREATE TRIGGER after_delete_labels -AFTER DELETE ON labels -FOR EACH ROW -EXECUTE FUNCTION delete_labels_from_tags_and_taggings(); -``` - -**Trigger para atualizações:** - -```sql -CREATE TRIGGER after_update_labels -AFTER UPDATE ON labels -FOR EACH ROW -EXECUTE FUNCTION update_labels_to_tags(); -``` - ---- - ## 📅 Roadmap do Projeto ### Versão 1.1 (Já Disponível) 🚀