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 }