Munkhtegsh Munkhbat
08/12/2020, 8:15 PMMunkhtegsh Munkhbat
08/12/2020, 8:16 PMmodel User {
id String @default(cuid()) @id
email String @unique
password String
chats Chat[]
messages Message[]
}
model Chat {
id String @default(cuid()) @id
sender User @relation(fields: [senderId], references: [id])
senderId String. // <====== is point to User
receiver User @relation("ChatToUser", fields: [receiverId], references: [id])
receiverId String. // <====== is point to User
messages Message[]
}
model Message {
id String @default(cuid()) @id
chat Chat @relation(fields: [chatId], references: [id])
chatId String.
sender User @relation(fields: [senderId], references: [id])
senderId String. // <====== is point to User
receiver User @relation("MessageToUser", fields: [receiverId], references: [id])
receiverId String. // <====== is point to User
}
Ryan
08/13/2020, 7:01 AMmodel User {
id String @default(cuid()) @id
email String @unique
password String
sentChats Chat[] @relation("ChatsSent")
receivedChats Chat[] @relation("ChatsReceived")
messagesSent Message[] @relation("MessageSender")
messagesReceived Message[] @relation("MessageReceiver")
}
model Chat {
id String @default(cuid()) @id
sender User @relation("ChatsSent", fields: [senderId], references: [id])
senderId String
receiver User @relation("ChatsReceived", fields: [receiverId], references: [id])
receiverId String
messages Message[]
}
model Message {
id String @default(cuid()) @id
chat Chat @relation(fields: [chatId], references: [id])
chatId String
sender User @relation("MessageSender", fields: [senderId], references: [id])
senderId String
receiver User @relation("MessageReceiver", fields: [receiverId], references: [id])
receiverId String
}
For every relation, a unique name should be provided so that Prisma can distinguish the relations.Munkhtegsh Munkhbat
08/15/2020, 3:46 AM