Graphql 模糊性是在用户和用户联盟之间的关系上

Graphql 模糊性是在用户和用户联盟之间的关系上,graphql,graphql-js,prisma,Graphql,Graphql Js,Prisma,我有两种类型:用户和用户联盟 type User { id: ID! @unique email: String! @unique password: String! name: String! predictions: [Prediction!]! leagues: [UserLeague!]! @relation(name: "MemberOfLeague") ownedLeagues: [UserLeague!]! @relation

我有两种类型:用户和用户联盟

type User {
    id: ID! @unique
    email: String! @unique
    password: String!
    name: String!
    predictions: [Prediction!]!
    leagues: [UserLeague!]! @relation(name: "MemberOfLeague")
    ownedLeagues: [UserLeague!]! @relation(name: "LeagueOwner")
}
type UserLeague {
    id: ID! @unique
    passcode: String!
    name: String!
    history: [Prediction!]!
    users: [User!]! @relation(name: "MemberOfLeague")
    owner: User! @relation(name: "LeagueOwner")
}
在我看来,这非常类似于prisma文档中的示例,其中包含
用户
故事
类型

但是,当我尝试使用
部署时,会收到以下错误消息:

“message”:“迁移过程中存在关系歧义。请在架构中对旧关系进行命名。歧义出现在User和UserLeague之间的关系上。”


我不太明白我错过了什么。非常感谢您的帮助:)

如果不知道您发布的架构的部署历史,很难确定问题出在哪里。但是,您似乎试图在
关系
指令中没有指定足够的信息的情况下部署架构更改(例如,我没有看到
onDelete
指令的任何规范)。如果没有此选项,
prisma
将抛出“暧昧关系”消息

对此原因进行了描述。总之,它归结为向SDL模式添加足够的信息,以便在每次运行
prisma deploy
时利用
prisma
迁移数据库


希望这有帮助

输入
prisma delete
删除服务,然后输入
prisma deploy


这就解决了我的问题。

我尝试在一个全新的项目上使用您的类型运行“prisma deploy”(不包括您未在此处列出的[Prediction]类型),并成功部署了它。我使用的是Prisma 1.8.3版,我刚才遇到了类似的问题,我重命名了一个字段并添加了新字段。当我解开新添加的内容,第一次重命名并运行deploy时,它工作了,然后我添加了新字段并运行deploy,一切正常。