diff --git a/prisma/mysql-schema.prisma b/prisma/mysql-schema.prisma index d3df1c96..ff968882 100644 --- a/prisma/mysql-schema.prisma +++ b/prisma/mysql-schema.prisma @@ -124,6 +124,9 @@ model Chat { updatedAt DateTime? @updatedAt @db.Timestamp Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade) instanceId String + unreadMessages Int @default(0) + @@index([instanceId]) + @@index([remoteJid]) } model Contact { @@ -137,6 +140,8 @@ model Contact { instanceId String @@unique([remoteJid, instanceId]) + @@index([remoteJid]) + @@index([instanceId]) } model Message { @@ -164,6 +169,7 @@ model Message { sessionId String? session IntegrationSession? @relation(fields: [sessionId], references: [id]) + @@index([instanceId]) } model MessageUpdate { @@ -178,6 +184,8 @@ model MessageUpdate { messageId String Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade) instanceId String + @@index([instanceId]) + @@index([messageId]) } model Webhook { @@ -192,6 +200,7 @@ model Webhook { updatedAt DateTime @updatedAt @db.Timestamp Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade) instanceId String @unique + @@index([instanceId]) } model Chatwoot { @@ -258,6 +267,7 @@ model Setting { updatedAt DateTime @updatedAt @db.Timestamp Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade) instanceId String @unique + @@index([instanceId]) } model Rabbitmq { diff --git a/prisma/postgresql-migrations/20241017144950_create_index/migration.sql b/prisma/postgresql-migrations/20241017144950_create_index/migration.sql new file mode 100644 index 00000000..803fafc1 --- /dev/null +++ b/prisma/postgresql-migrations/20241017144950_create_index/migration.sql @@ -0,0 +1,26 @@ +-- CreateIndex +CREATE INDEX "Chat_instanceId_idx" ON "Chat"("instanceId"); + +-- CreateIndex +CREATE INDEX "Chat_remoteJid_idx" ON "Chat"("remoteJid"); + +-- CreateIndex +CREATE INDEX "Contact_remoteJid_idx" ON "Contact"("remoteJid"); + +-- CreateIndex +CREATE INDEX "Contact_instanceId_idx" ON "Contact"("instanceId"); + +-- CreateIndex +CREATE INDEX "Message_instanceId_idx" ON "Message"("instanceId"); + +-- CreateIndex +CREATE INDEX "MessageUpdate_instanceId_idx" ON "MessageUpdate"("instanceId"); + +-- CreateIndex +CREATE INDEX "MessageUpdate_messageId_idx" ON "MessageUpdate"("messageId"); + +-- CreateIndex +CREATE INDEX "Setting_instanceId_idx" ON "Setting"("instanceId"); + +-- CreateIndex +CREATE INDEX "Webhook_instanceId_idx" ON "Webhook"("instanceId"); diff --git a/prisma/postgresql-schema.prisma b/prisma/postgresql-schema.prisma index 1b7f060c..011de9a0 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) + @@index([instanceId]) + @@index([remoteJid]) } model Contact { @@ -138,6 +140,8 @@ model Contact { instanceId String @@unique([remoteJid, instanceId]) + @@index([remoteJid]) + @@index([instanceId]) } model Message { @@ -164,6 +168,7 @@ model Message { sessionId String? session IntegrationSession? @relation(fields: [sessionId], references: [id]) + @@index([instanceId]) } model MessageUpdate { @@ -178,6 +183,8 @@ model MessageUpdate { messageId String Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade) instanceId String + @@index([instanceId]) + @@index([messageId]) } model Webhook { @@ -192,6 +199,7 @@ model Webhook { updatedAt DateTime @updatedAt @db.Timestamp Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade) instanceId String @unique + @@index([instanceId]) } model Chatwoot { @@ -260,6 +268,7 @@ model Setting { updatedAt DateTime @updatedAt @db.Timestamp Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade) instanceId String @unique + @@index([instanceId]) } model Rabbitmq {