Я изучаю Prisma GraphQL и пытаюсь создать принадлежащее и связанное с ним множество отношений, но при развертывании это не удается.
Сценарий:
- У пользователя будет список созданных комментариев
- У пользователя будет список комментариев
- Комментарий будет принадлежать автору (пользователю)
- Комментировать будет пользователь (закомментированный пользователь)
Что я пробовал:
type User {
id: ID! @unique
createdAt: DateTime!
updatedAt: DateTime!
email: String! @unique
password: String!
roles: [Role!]!
profile: Profile! @relation(name: "Profile", onDelete: CASCADE)
addresses: [Address!]! @relation(name: "AddressAuthor", onDelete: CASCADE)
posts: [Post!]! @relation(name: "PostAuthor", onDelete: CASCADE)
topics: [Topic!]! @relation(name: "TopicAuthor", onDelete: CASCADE)
subjects: [Subject!]! @relation(name: "SubjectAuthor", onDelete: CASCADE)
votes: [Vote!]! @relatiion(name: "VoteAuthor", onDelete: CASCADE)
notifications: [Notification!]! @relation(name: "Notification", onDelete: CASCADE)
createdFollows: [Follow!]! @relation(name: "FollowAuthor", onDelete: CASCADE)
followers: [Follow!]! @relation(name: "FollowedUser", onDelete: CASCADE)
createdComments: [Comment!]! @relation(name: "CommentAuthor", onDelete: CASCADE)
comments: [Comment!]! @relation(name: "CommentedUser")
}
type Comment {
id: ID! @unique
createdAt: DateTime!
updatedAt: DateTime!
author: User! @relation(name: "CommentAuthor")
type: String!
body: String!
attachments: [Attachment!]! @relation(name: "CommentAttachment", onDelete: CASCADE)
comments: [Comment!]! @relation(name: "CommentComment", onDelete: CASCADE)
likes: [Like!]!
followers: [Follow!]!
user: User @relation(name: "CommentedUser", onDelete: CASCADE)
post: Post
topic: Topic
subject: Subject
comment: Comment @relation(name: "CommentComment")
}
Но при попытке развернуть его я получил ошибку, чтобы исправить неоднозначность между Comment
и User
. Итак, вы можете помочь мне, как правильно определить отношения? Post
, User
и даже Comment
могут иметь много комментариев.
Спасибо!