diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 712a068..ffa1c86 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -158,8 +158,8 @@ model Friendship { requested_at DateTime @default(now()) accepted_at DateTime? - user1 User @relation("FriendshipUser1", fields: [user_id_1], references: [id]) - user2 User @relation("FriendshipUser2", fields: [user_id_2], references: [id]) + user1 User @relation("FriendshipUser1", fields: [user_id_1], references: [id], onDelete: Cascade) + user2 User @relation("FriendshipUser2", fields: [user_id_2], references: [id], onDelete: Cascade) @@id([user_id_1, user_id_2]) @@index([user_id_2, status], name: "idx_friendships_user2_status") @@ -187,8 +187,8 @@ model GroupMember { role group_member_role @default(MEMBER) added_at DateTime @default(now()) - group Group @relation(fields: [group_id], references: [id]) - user User @relation(fields: [user_id], references: [id]) + group Group @relation(fields: [group_id], references: [id], onDelete: Cascade) + user User @relation(fields: [user_id], references: [id], onDelete: Cascade) @@id([group_id, user_id]) @@index([user_id]) @@ -207,7 +207,7 @@ model BlockedSlot { created_at DateTime @default(now()) updated_at DateTime @updatedAt - user User @relation(fields: [user_id], references: [id]) + user User @relation(fields: [user_id], references: [id], onDelete: Cascade) @@index([user_id, start_time, end_time]) @@index([user_id, is_recurring]) @@ -241,8 +241,8 @@ model MeetingParticipant { status participant_status @default(PENDING) added_at DateTime @default(now()) - meeting Meeting @relation(fields: [meeting_id], references: [id]) - user User @relation(fields: [user_id], references: [id]) + meeting Meeting @relation(fields: [meeting_id], references: [id], onDelete: Cascade) + user User @relation(fields: [user_id], references: [id], onDelete: Cascade) @@id([meeting_id, user_id]) @@index([user_id, status], name: "idx_participants_user_status") @@ -259,7 +259,7 @@ model Notification { is_read Boolean @default(false) created_at DateTime @default(now()) - user User @relation(fields: [user_id], references: [id]) + user User @relation(fields: [user_id], references: [id], onDelete: Cascade) @@index([user_id, is_read, created_at], name: "idx_notifications_user_read_time") @@map("notifications") @@ -271,7 +271,7 @@ model UserNotificationPreference { email_enabled Boolean @default(false) updated_at DateTime @default(now()) - user User @relation(fields: [user_id], references: [id]) + user User @relation(fields: [user_id], references: [id], onDelete: Cascade) @@id([user_id, notification_type]) @@map("user_notification_preferences") @@ -292,7 +292,7 @@ model EmailQueue { created_at DateTime @default(now()) updated_at DateTime @updatedAt - user User @relation(fields: [user_id], references: [id]) + user User @relation(fields: [user_id], references: [id], onDelete: Cascade) @@index([status, scheduled_at], name: "idx_email_queue_pending_jobs") @@index([user_id, created_at], name: "idx_email_queue_user_history") @@ -308,7 +308,7 @@ model CalendarExportToken { created_at DateTime @default(now()) last_accessed_at DateTime? - user User @relation(fields: [user_id], references: [id]) + user User @relation(fields: [user_id], references: [id], onDelete: Cascade) @@index([user_id]) @@map("calendar_export_tokens") @@ -327,7 +327,7 @@ model CalendarSubscription { created_at DateTime @default(now()) updated_at DateTime @updatedAt - user User @relation(fields: [user_id], references: [id]) + user User @relation(fields: [user_id], references: [id], onDelete: Cascade) externalEvents ExternalEvent[] @@index([user_id, is_enabled]) @@ -350,7 +350,7 @@ model ExternalEvent { show_as_free Boolean @default(false) last_fetched_at DateTime @default(now()) - subscription CalendarSubscription @relation(fields: [subscription_id], references: [id]) + subscription CalendarSubscription @relation(fields: [subscription_id], references: [id], onDelete: Cascade) @@unique([subscription_id, ical_uid], name: "uq_external_event_sub_uid") @@index([subscription_id, start_time, end_time])