Что делать с таблицей отношений «много-много»?

#javascript #graphql #next.js #psql #knex.js

Вопрос:

У меня есть таблица товаров и таблица опций. У меня есть таблица отношений «много-много», созданная в sql. Элемент может иметь множество опций, и опция может находиться под многими различными элементами.

 item (
  id uuid primary
  name string
  description string
)

customization (
  id uuid primary
  name string
  required boolean
)

item_customization (
  item_id uuid references item(id)
  customization_id uuid references customization(id)
  primary key (item_id, customization_id)
)
 

Я использую graphql для создания схемы.

  type Customization {
        user_id: ID!
        id: ID!
        name: String!
        required: Boolean!
        maxSelections: Int!
        items: [Item]
    }

 type Item {
        item_id: ID!
        name: String!
        price: Float!
        category_id: ID!
        customizations: [Customization]
        description: String
        created_at: String!
        updated_at: String
    }

 

Я как бы застрял здесь, потому что не знаю, что делать с таблицей отношений в sql. Я должен создавать распознаватели, что меня смущает. Когда я добавляю настройку к элементу, должен ли я вставлять идентификаторы в таблицу отношений?

У меня есть распознаватель, который специально добавляет настройку, не связанную с элементом. Могу ли я создать функцию, которая создаст связь, вставив идентификаторы в таблицу отношений?