Неопределенность в отношении между User и UserLeague

У меня есть два типа: User и UserLeague

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 с User а также Story типы.

Но когда я пытаюсь развернуть с yarn prisma deployЯ получаю следующее сообщение об ошибке:

"message": "Во время миграции возникает неоднозначность отношений. Сначала назовите старое отношение в вашей схеме. Неоднозначность связана с отношением между User и UserLeague."

Я не совсем понимаю, чего мне не хватает. Большое спасибо за вашу помощь:)

1 ответ

Войти prisma delete чтобы удалить службу, а затем введите prisma deploy.

Это решило проблему для меня.

Не зная истории развертывания размещенной вами схемы, трудно с уверенностью сказать, в чем проблема. Однако кажется, что вы пытаетесь внедрить изменения схемы без указания достаточного количества информации в relation директива (например, я не вижу никакой спецификации onDelete инструкции). Без этого prisma выдаст сообщение "неоднозначное отношение".

Причина этого описана здесь. Подводя итог, можно сказать, что достаточно добавить информацию в схему SDL, чтобы вы могли использовать рычаги prisma миграция вашей БД при каждом запуске prisma deploy,

Надеюсь это поможет!

Другие вопросы по тегам