diff --git a/apps/api/prisma/migrations/20240822091654_cascade_user_relations/migration.sql b/apps/api/prisma/migrations/20240822091654_cascade_user_relations/migration.sql new file mode 100644 index 00000000..be54d750 --- /dev/null +++ b/apps/api/prisma/migrations/20240822091654_cascade_user_relations/migration.sql @@ -0,0 +1,11 @@ +-- DropForeignKey +ALTER TABLE "BudgetUserInvitation" DROP CONSTRAINT "BudgetUserInvitation_createdByUserId_fkey"; + +-- DropForeignKey +ALTER TABLE "UserWalletAccount" DROP CONSTRAINT "UserWalletAccount_userId_fkey"; + +-- AddForeignKey +ALTER TABLE "UserWalletAccount" ADD CONSTRAINT "UserWalletAccount_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "BudgetUserInvitation" ADD CONSTRAINT "BudgetUserInvitation_createdByUserId_fkey" FOREIGN KEY ("createdByUserId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/apps/api/prisma/schema.prisma b/apps/api/prisma/schema.prisma index e946e713..a62860f4 100644 --- a/apps/api/prisma/schema.prisma +++ b/apps/api/prisma/schema.prisma @@ -45,7 +45,7 @@ model UserWalletAccount { preferredCurrency String userId String - user User @relation(fields: [userId], references: [id]) + user User @relation(fields: [userId], references: [id], onDelete: Cascade) transactions Transaction[] } @@ -125,7 +125,7 @@ model BudgetUserInvitation { permission BudgetUserPermission? createdByUserId String - createdByUser User @relation(fields: [createdByUserId], references: [id]) + createdByUser User @relation(fields: [createdByUserId], references: [id], onDelete: Cascade) budgetId String budget Budget @relation(fields: [budgetId], references: [id], onDelete: Cascade) responses BudgetUserInvitationResponse[] @@ -145,7 +145,7 @@ model BudgetUserInvitationResponse { invitationId String invitation BudgetUserInvitation @relation(fields: [invitationId], references: [id]) createdUserId String? @unique - createdUser User? @relation(fields: [createdUserId], references: [id]) + createdUser User? @relation(fields: [createdUserId], references: [id], onDelete: SetNull) } model Transaction {