From 29a3892669908e00c7be8a9fcb6c22e3adfa8b3d Mon Sep 17 00:00:00 2001 From: Alex van Andel Date: Tue, 28 Oct 2025 22:28:40 +0000 Subject: [PATCH] chore: add indexes for user delete (#24740) * chore: Adding indexes for user delete cascade * Add comments to indicate a partial index has been added on a field --------- Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com> --- .../migration.sql | 11 +++++++++++ packages/prisma/schema.prisma | 8 ++++++++ 2 files changed, 19 insertions(+) create mode 100644 packages/prisma/migrations/20251028124351_add_partial_indexes_for_user_delete_cascade/migration.sql diff --git a/packages/prisma/migrations/20251028124351_add_partial_indexes_for_user_delete_cascade/migration.sql b/packages/prisma/migrations/20251028124351_add_partial_indexes_for_user_delete_cascade/migration.sql new file mode 100644 index 0000000000..59b4726bbd --- /dev/null +++ b/packages/prisma/migrations/20251028124351_add_partial_indexes_for_user_delete_cascade/migration.sql @@ -0,0 +1,11 @@ +CREATE INDEX "Booking_reassignById_idx" ON "Booking"("reassignById") +WHERE "reassignById" IS NOT NULL; + +CREATE INDEX "EventType_instantMeetingScheduleId_idx" ON "EventType"("instantMeetingScheduleId") +WHERE "instantMeetingScheduleId" IS NOT NULL; + +CREATE INDEX "CreditExpenseLog_bookingUid_idx" ON "CreditExpenseLog"("bookingUid") +WHERE "bookingUid" IS NOT NULL; + +CREATE INDEX "WebhookScheduledTriggers_bookingId_idx" ON "WebhookScheduledTriggers"("bookingId") +WHERE "bookingId" IS NOT NULL; \ No newline at end of file diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma index f294889cc1..45f61374eb 100644 --- a/packages/prisma/schema.prisma +++ b/packages/prisma/schema.prisma @@ -244,6 +244,8 @@ model EventType { createdAt DateTime? @default(now()) updatedAt DateTime? @updatedAt + // @@partial_index([instantMeetingScheduleId]) + @@unique([userId, slug]) @@unique([teamId, slug]) @@unique([userId, parentId]) @@ -640,6 +642,8 @@ model CreditExpenseLog { callDuration Int? creditFor CreditUsageType? externalRef String? @unique + + // @@partial_index([bookingUid]) } enum CreditType { @@ -852,6 +856,8 @@ model Booking { expenseLogs CreditExpenseLog[] report BookingReport? + // @@partial_index([reassignById]) + @@index([eventTypeId]) @@index([userId]) @@index([destinationCalendarId]) @@ -1575,6 +1581,8 @@ model WebhookScheduledTriggers { webhook Webhook? @relation(fields: [webhookId], references: [id], onDelete: Cascade) bookingId Int? booking Booking? @relation(fields: [bookingId], references: [id], onDelete: Cascade) + + // @@partial_index([bookingId]) } enum WorkflowTemplates {