График: для аргумента ID в запросе подграфа не указано значение

Я следую документации The Graph ( https://thegraph.com/docs/quick-start#hosted-service ) и создаю подграф, используя следующий код:

      graph init <GITHUB_USERNAME>/<SUBGRAPH_NAME>

Когда я создаю, а затем развертываю, я вижу, что на игровой площадке есть запрос по умолчанию с именем exampleEntities ():

      {
  exampleEntities(first: 5) {
    id
    affiliate
    player
    points
    total
  }
}

Если я запрашиваю подграф, используя этот запрос по умолчанию, все в порядке, но если я изменяю имя типа объекта на что-нибудь другое, например affiliateData, в моем файле schema.graphql (и изменяю имя импорта в mapping.ts), я получаю эта ошибка:

      "No value provided for required argument: `id`"

Опять же, все, что я делаю, это меняю имя типа объекта с этого:

      type ExampleEntity @entity {
  id: ID!
  affiliate: Bytes! # address
  player: Bytes! # address
  points: BigInt!
  total: BigInt!
}

К этому:

      type affiliateData @entity {
  id: ID!
  affiliate: Bytes! # address
  player: Bytes! # address
  points: BigInt!
  total: BigInt!
}

Я не уверен, как «id» устанавливается в типе сущности ExampleEntity, так как я не могу найти нигде в коде, где он устанавливается. Я надеюсь, что кто-нибудь сможет подсказать.

1 ответ

В моем случае это произошло из-за использования имени объекта во множественном числе.

У меня была сущность с именемAnalytics, сборка и развертывание прошли успешно, но когда я отправил следующий запрос, я получил точно такое же сообщение об ошибке:

      analytics {
  id
}

Я переименовал сущность вAnalyticи ошибка исчезла.

Я предполагаю, что подграф автоматически формирует множественное число имени объекта, но кажется, что возникает конфликт, когда имя объекта уже имеет множественное число.

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