3

User と UserLeague の 2 つのタイプがあります。

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")
}

ここのプリズマドキュメントの例に似ているように私には非常によく見えますhttps://www.prismagraphql.com/docs/reference/service-configuration/data-modelling-(sdl)-eiroozae8u#the-@relationUser -ディレクティブStory型。

しかし、で展開しようとするとyarn prisma deploy、次のエラー メッセージが表示されます。

"message": "移行中にリレーションがあいまいです。最初にスキーマの古いリレーションに名前を付けてください。あいまいさは、User と UserLeague の間のリレーションにあります。"

何が欠けているのかよくわかりません。ご協力ありがとうございました:)

4

2 に答える 2

0

を入力prisma deleteしてサービスを削除し、次に を入力しprisma deployます。

それは私にとって問題を解決しました。

于 2019-07-20T21:14:09.353 に答える
0

投稿したスキーマの展開履歴を知らなければ、何が問題なのかを確実に言うのは困難です。ただし、relationディレクティブに十分な情報を指定せずにスキーマの変更をデプロイしようとしているようです (たとえば、命令の仕様が表示されませんonDelete)。これがないprismaと、「あいまいな関係」メッセージがスローされます。

この理由については、こちらで説明しています。prisma要約すると、実行するたびに DB を移行して活用できるように、SDL スキーマに十分な情報を追加することになりますprisma deploy

お役に立てれば!

于 2018-06-23T18:25:19.600 に答える