Создание отношений «Многие Ко Многим» в Хасуре

#postgresql #graphql #hasura

Вопрос:

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

Документация, которой я пытался следовать для многих ко многим из Хасуры: https://hasura.io/docs/latest/graphql/core/guides/data-modelling/many-to-many.html#step-1-set-up-a-table-relationship-in-the-database

Скажите, что я хочу иметь следующие отношения:

  • Много автомобилей, на которых может быть много водителей
  • Много водителей, которые могут водить много автомобилей

Я создал автомобиль table , который имеет:

  1. id — Уникальное целое число, первичный ключ
  2. name — текст

Я создал driver таблицу, в которой есть:

  1. id — Уникальное целое число, первичный ключ
  2. type — текст

Я создал car_user таблицу, в которой есть:

  1. car_id — Целое число, первичный ключ
  2. driver_id — Целое число, первичный ключ
  3. id — Уникальное целое число (пробовали с этим и без этого)

Всякий раз, когда я пытаюсь зайти, а затем добавляю внешние ключи для идентификатора автомобиля и/или идентификатора водителя. Я получаю следующую ошибку и абсолютно не знаю, как ее решить. ошибка внешнего ключа

Ответ №1:

При создании car_driver таблицы необходимо установить id для столбца ограничение уникальности.

Таким образом, в консоли Hasura создание должно выглядеть следующим образом: введите описание изображения здесь