From 146e479e1b3dfdd3f90326b3a3fbebdcbcc1886b Mon Sep 17 00:00:00 2001 From: Jose Rodrigues Date: Fri, 28 Feb 2025 10:05:45 -0300 Subject: [PATCH] feat: add unique index on chat to allow update chat label --- .../20250228130127_add_unique_chat/migration.sql | 8 ++++++++ prisma/postgresql-migrations/migration_lock.toml | 2 +- prisma/postgresql-schema.prisma | 6 ++++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 prisma/postgresql-migrations/20250228130127_add_unique_chat/migration.sql diff --git a/prisma/postgresql-migrations/20250228130127_add_unique_chat/migration.sql b/prisma/postgresql-migrations/20250228130127_add_unique_chat/migration.sql new file mode 100644 index 00000000..077b6929 --- /dev/null +++ b/prisma/postgresql-migrations/20250228130127_add_unique_chat/migration.sql @@ -0,0 +1,8 @@ +/* + Warnings: + + - A unique constraint covering the columns `[instanceId,remoteJid]` on the table `Chat` will be added. If there are existing duplicate values, this will fail. + +*/ +-- CreateIndex +CREATE UNIQUE INDEX "Chat_instanceId_remoteJid_key" ON "Chat"("instanceId", "remoteJid"); diff --git a/prisma/postgresql-migrations/migration_lock.toml b/prisma/postgresql-migrations/migration_lock.toml index fbffa92c..648c57fd 100644 --- a/prisma/postgresql-migrations/migration_lock.toml +++ b/prisma/postgresql-migrations/migration_lock.toml @@ -1,3 +1,3 @@ # Please do not edit this file manually -# It should be added in your version-control system (i.e. Git) +# It should be added in your version-control system (e.g., Git) provider = "postgresql" \ No newline at end of file diff --git a/prisma/postgresql-schema.prisma b/prisma/postgresql-schema.prisma index a9782ce5..28ffa751 100644 --- a/prisma/postgresql-schema.prisma +++ b/prisma/postgresql-schema.prisma @@ -125,6 +125,8 @@ model Chat { Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade) instanceId String unreadMessages Int @default(0) + + @@unique([instanceId, remoteJid]) @@index([instanceId]) @@index([remoteJid]) } @@ -168,6 +170,7 @@ model Message { sessionId String? session IntegrationSession? @relation(fields: [sessionId], references: [id]) + @@index([instanceId]) } @@ -183,6 +186,7 @@ model MessageUpdate { messageId String Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade) instanceId String + @@index([instanceId]) @@index([messageId]) } @@ -199,6 +203,7 @@ model Webhook { updatedAt DateTime @updatedAt @db.Timestamp Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade) instanceId String @unique + @@index([instanceId]) } @@ -269,6 +274,7 @@ model Setting { updatedAt DateTime @updatedAt @db.Timestamp Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade) instanceId String @unique + @@index([instanceId]) }