From 1e036ba3ae1460ca033c4737d16d608f7952526c Mon Sep 17 00:00:00 2001 From: Jader Santos Date: Fri, 21 Nov 2025 22:09:15 -0300 Subject: [PATCH] fix(migration): add deduplication step before creating index --- .../migration.sql | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/prisma/postgresql-migrations/20251122003044_add_chat_instance_remotejid_unique/migration.sql b/prisma/postgresql-migrations/20251122003044_add_chat_instance_remotejid_unique/migration.sql index 57254901..8b27cc1e 100644 --- a/prisma/postgresql-migrations/20251122003044_add_chat_instance_remotejid_unique/migration.sql +++ b/prisma/postgresql-migrations/20251122003044_add_chat_instance_remotejid_unique/migration.sql @@ -1,2 +1,16 @@ --- AlterTable +-- 1. Cleanup: Remove duplicate chats, keeping the most recently updated one +DELETE FROM "Chat" +WHERE id IN ( + SELECT id FROM ( + SELECT id, + ROW_NUMBER() OVER ( + PARTITION BY "instanceId", "remoteJid" + ORDER BY "updatedAt" DESC + ) as row_num + FROM "Chat" + ) t + WHERE t.row_num > 1 +); + +-- 2. Create the unique index (Constraint) CREATE UNIQUE INDEX "Chat_instanceId_remoteJid_key" ON "Chat"("instanceId", "remoteJid");