From 9710c6faa617755c16f8959cfd9b036a7969aade Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Omar=20L=C3=B3pez?= Date: Thu, 26 May 2022 09:48:02 -0600 Subject: [PATCH] Cascades impersonations on user delete (#2891) Co-authored-by: Alex van Andel --- .../migration.sql | 11 +++++++++++ packages/prisma/schema.prisma | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 packages/prisma/migrations/20220526151550_cascades_impersonations_on_user_delete/migration.sql diff --git a/packages/prisma/migrations/20220526151550_cascades_impersonations_on_user_delete/migration.sql b/packages/prisma/migrations/20220526151550_cascades_impersonations_on_user_delete/migration.sql new file mode 100644 index 0000000000..7539f3e27c --- /dev/null +++ b/packages/prisma/migrations/20220526151550_cascades_impersonations_on_user_delete/migration.sql @@ -0,0 +1,11 @@ +-- DropForeignKey +ALTER TABLE "Impersonations" DROP CONSTRAINT "Impersonations_impersonatedById_fkey"; + +-- DropForeignKey +ALTER TABLE "Impersonations" DROP CONSTRAINT "Impersonations_impersonatedUserId_fkey"; + +-- AddForeignKey +ALTER TABLE "Impersonations" ADD CONSTRAINT "Impersonations_impersonatedUserId_fkey" FOREIGN KEY ("impersonatedUserId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Impersonations" ADD CONSTRAINT "Impersonations_impersonatedById_fkey" FOREIGN KEY ("impersonatedById") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma index e6023a097c..ff6b059480 100644 --- a/packages/prisma/schema.prisma +++ b/packages/prisma/schema.prisma @@ -402,8 +402,8 @@ model Webhook { model Impersonations { id Int @id @default(autoincrement()) createdAt DateTime @default(now()) - impersonatedUser User @relation("impersonated_user", fields: [impersonatedUserId], references: [id]) - impersonatedBy User @relation("impersonated_by_user", fields: [impersonatedById], references: [id]) + impersonatedUser User @relation("impersonated_user", fields: [impersonatedUserId], references: [id], onDelete: Cascade) + impersonatedBy User @relation("impersonated_by_user", fields: [impersonatedById], references: [id], onDelete: Cascade) impersonatedUserId Int impersonatedById Int }