Sequelize проблема создания ассоциации с множеством первичных ключей
Есть две таблицы
Первая
module.exports = (db, DataTypes) =>
db.define(
"equipments",
{
id: {
type: DataTypes.INTEGER,
primaryKey: true,
allowNull: false,
},
slotId: {
type: DataTypes.STRING,
primaryKey: true,
allowNull: false,
},
itemId: {
type: DataTypes.INTEGER,
allowNull: false,
},
count: { type: DataTypes.INTEGER, defaultValue: 1 },
},
{}
);
Вторая
module.exports = (db, DataTypes) =>
db.define(
"users",
{
name: DataTypes.STRING,
},
{}
);
При попытке создать связь между этими таблицами
Equipments.hasMany(Users, { onDelete: "CASCADE", onUpdate: "CASCADE" });
Users.belongsTo(Equipments);
Sequelize создает поле в целевой таблице с именем таблицы + первичный ключ, с которым он будет связывать, но после инициализации связь не создается.
CREATE TABLE IF NOT EXISTS `users` (
`id` INTEGER NOT NULL auto_increment,
`name` VARCHAR(255),
`createdAt` DATETIME NOT NULL,
`updatedAt` DATETIME NOT NULL,
`equipmentId` INTEGER,
PRIMARY KEY (`id`),
SET
NULL ON UPDATE CASCADE
) ENGINE = InnoDB;
Если указать в первой таблице только один первичный ключ, то связь создаётся. Есть ли способы решения данной проблемы ? Или же есть моменты в самом API, который нужно было использовать в данной ситуации с несколькими первичными ключами?