Prisma GraphQL Belongs To and Has Many Relations
I'm learning Prisma GraphQL and trying to create a belongs to and has many relations, but when deploying it fails.
The scenario:
- User will have a list of created comments
- User will have a list of comments
- Comment will belongs to an author (User)
- Comment will have an user (commented User)
What I've tried:
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")
But when trying to deploy it, I got error to fix the ambiguity between Comment
and User
. So, can you help me how to correctly define the relations? Post
, User
and even Comment
can have many comments.
Thanks!
graphql prisma
add a comment |
I'm learning Prisma GraphQL and trying to create a belongs to and has many relations, but when deploying it fails.
The scenario:
- User will have a list of created comments
- User will have a list of comments
- Comment will belongs to an author (User)
- Comment will have an user (commented User)
What I've tried:
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")
But when trying to deploy it, I got error to fix the ambiguity between Comment
and User
. So, can you help me how to correctly define the relations? Post
, User
and even Comment
can have many comments.
Thanks!
graphql prisma
I just tried your example and could deploy the datamodel you showed without any issues. Did you show your entire datamodel or are there any missing types? In any case, it seems like your issue is somewhere else?! @nanang-mahdaen-el-agung
– nburk
Nov 20 '18 at 8:50
@nburk thanks for the response. I've updated the question. So, when I remove thecommentedUsers
andcomments
from theUser
and remove theuser
fromComment
and remove the relation name ofComment
author
, the deploy just fine. Am I doing wrong when naming the relation?
– Nanang Mahdaen El-Agung
Nov 21 '18 at 0:22
add a comment |
I'm learning Prisma GraphQL and trying to create a belongs to and has many relations, but when deploying it fails.
The scenario:
- User will have a list of created comments
- User will have a list of comments
- Comment will belongs to an author (User)
- Comment will have an user (commented User)
What I've tried:
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")
But when trying to deploy it, I got error to fix the ambiguity between Comment
and User
. So, can you help me how to correctly define the relations? Post
, User
and even Comment
can have many comments.
Thanks!
graphql prisma
I'm learning Prisma GraphQL and trying to create a belongs to and has many relations, but when deploying it fails.
The scenario:
- User will have a list of created comments
- User will have a list of comments
- Comment will belongs to an author (User)
- Comment will have an user (commented User)
What I've tried:
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")
But when trying to deploy it, I got error to fix the ambiguity between Comment
and User
. So, can you help me how to correctly define the relations? Post
, User
and even Comment
can have many comments.
Thanks!
graphql prisma
graphql prisma
edited Nov 21 '18 at 0:19
Nanang Mahdaen El-Agung
asked Nov 11 '18 at 0:06
Nanang Mahdaen El-AgungNanang Mahdaen El-Agung
1,117611
1,117611
I just tried your example and could deploy the datamodel you showed without any issues. Did you show your entire datamodel or are there any missing types? In any case, it seems like your issue is somewhere else?! @nanang-mahdaen-el-agung
– nburk
Nov 20 '18 at 8:50
@nburk thanks for the response. I've updated the question. So, when I remove thecommentedUsers
andcomments
from theUser
and remove theuser
fromComment
and remove the relation name ofComment
author
, the deploy just fine. Am I doing wrong when naming the relation?
– Nanang Mahdaen El-Agung
Nov 21 '18 at 0:22
add a comment |
I just tried your example and could deploy the datamodel you showed without any issues. Did you show your entire datamodel or are there any missing types? In any case, it seems like your issue is somewhere else?! @nanang-mahdaen-el-agung
– nburk
Nov 20 '18 at 8:50
@nburk thanks for the response. I've updated the question. So, when I remove thecommentedUsers
andcomments
from theUser
and remove theuser
fromComment
and remove the relation name ofComment
author
, the deploy just fine. Am I doing wrong when naming the relation?
– Nanang Mahdaen El-Agung
Nov 21 '18 at 0:22
I just tried your example and could deploy the datamodel you showed without any issues. Did you show your entire datamodel or are there any missing types? In any case, it seems like your issue is somewhere else?! @nanang-mahdaen-el-agung
– nburk
Nov 20 '18 at 8:50
I just tried your example and could deploy the datamodel you showed without any issues. Did you show your entire datamodel or are there any missing types? In any case, it seems like your issue is somewhere else?! @nanang-mahdaen-el-agung
– nburk
Nov 20 '18 at 8:50
@nburk thanks for the response. I've updated the question. So, when I remove the
commentedUsers
and comments
from the User
and remove the user
from Comment
and remove the relation name of Comment
author
, the deploy just fine. Am I doing wrong when naming the relation?– Nanang Mahdaen El-Agung
Nov 21 '18 at 0:22
@nburk thanks for the response. I've updated the question. So, when I remove the
commentedUsers
and comments
from the User
and remove the user
from Comment
and remove the relation name of Comment
author
, the deploy just fine. Am I doing wrong when naming the relation?– Nanang Mahdaen El-Agung
Nov 21 '18 at 0:22
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53244647%2fprisma-graphql-belongs-to-and-has-many-relations%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53244647%2fprisma-graphql-belongs-to-and-has-many-relations%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
I just tried your example and could deploy the datamodel you showed without any issues. Did you show your entire datamodel or are there any missing types? In any case, it seems like your issue is somewhere else?! @nanang-mahdaen-el-agung
– nburk
Nov 20 '18 at 8:50
@nburk thanks for the response. I've updated the question. So, when I remove the
commentedUsers
andcomments
from theUser
and remove theuser
fromComment
and remove the relation name ofComment
author
, the deploy just fine. Am I doing wrong when naming the relation?– Nanang Mahdaen El-Agung
Nov 21 '18 at 0:22