Как создать модель, если внешний ключ таблицы ссылается на несколько таблиц в Sequalize PostgreSQL?

Как создать модель, если внешний ключ таблицы ссылается на несколько таблиц? В справочной таблице есть поле с именем type_id, которое можно использовать в качестве внешнего ключа для любой из таблиц, упомянутых в event_type. например, если event_type - это sports, то для id спорта будет type_id.

справочная таблица имеет id,type_id, event_type &description

спортивный стол id, name, venue& noOfPlayers

культурный стол имеет id, name, venue& noOfGuests

Заметка

  • event_type может быть только sports а также cultural
  • type_id принадлежит спортивному идентификатору или культурному идентификатору

Нужно ли упоминать что-нибудь в спортивной и культурной таблице?

Я пробовал это, я не уверен, что это правильная форма или нет

"event_type": {
      type: DataTypes.ENUM('sports', 'cultural'),
      allowNull: false,
    },
     "type_id": {
      type: DataTypes.INTEGER,
      allowNull: false,
      onDelete: 'CASCADE',
      references: {
        model: 'sports'||'cultural',
        key: 'id',
        as: 'type_id'
      }
    }

0 ответов

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