Кажется, у меня возникла небольшая проблема, которую я не могу понять.
Я создал новый тип Challenge
в моем datamodel.prisma
:
type Challenge {
id: ID! @id
createdAt: DateTime! @createdAt
updatedAt: DateTime! @updatedAt
completed: Boolean! @default(value: false)
title: String!
}
My Mutation Resolver
# import * from './generated/prisma.graphql'
type Mutation {
createChallenge(title: String!): Challenge!
}
prisma.graphql
читает это:
type Mutation {
createChallenge(data: ChallengeCreateInput!): Challenge!
}
input ChallengeCreateInput {
id: ID
completed: Boolean
title: String!
}
И я использую игровую площадку для создания записей БД (проблема сохраняется, когда я создаю интерфейсные логи c для этого):
mutation {
createChallenge(title: "Test Entry") {
id
title
}
}
И, наконец, мой logi на стороне сервера c:
async createChallenge(parent, args, ctx, info) {
console.log(args);
const challenge = ctx.db.mutation.createChallenge(
{
data: {
...args,
},
},
info
);
console.log(challenge);
return challenge;
},
Затем я получаю следующую ошибку на детской площадке:
{
"data": null,
"errors": [
{
"message": "Variable '$_v0_data' cannot be non input type 'ChallengeCreateInput!'. (line 1, column 22):\nmutation ($_v0_data: ChallengeCreateInput!) {\n ^",
"locations": [],
"path": [
"createChallenge"
]
}
]
}
Я не понимаю, откуда приходит это сообщение. Похоже, что данные правильно обрабатываются в моей серверной логике c путем распределения в data
.
Вчера я столкнулся с проблемой, когда мой серверный лог c не обновлялся, даже после обновления и сброса модели данных с помощью prisma reset
. У меня было поле в моей модели данных challenge
, которое я удалил, но при отправке мутации сервер все еще допустил ошибку, говоря, что отсутствует это поле. Может ли это иметь какое-либо отношение к этому?
Может быть важно знать, что обычно, каждый раз, когда вы запускаете prisma deploy
и обновлять нечего, вам сообщается nothing to update
. На данный момент, каждый раз, когда я запускаю prisma deploy
, одни и те же поля добавляются и удаляются. Это должно происходить только один раз.
Как мне заставить эту Мутацию работать?