Я нашел это сам со многими попытками и ответом на этот вопрос: Последовательное динамическое заполнение
связи, которые необходимо было исправить в моделях:
User.associate = function(models) {
User.belongsToMany(
models.Role, {
through: 'user_role',
}
);
};
и
Role.associate = function(models) {
Role.belongsToMany(
models.User, {
through: 'user_role',
}
);
};
и таблице m: n требовалось это:
....
.then(() => {
queryInterface.createTable('user_role', {
userUuid: {
type: Sequelize.UUIDV4,
references: {
model: 'User',
key: 'uuid',
},
allowNull: false,
},
roleUuid: {
type: Sequelize.UUIDV4,
references: {
model: 'Role',
key: 'uuid',
},
allowNull: false,
},
createdAt: { allowNull: false, type: Sequelize.DATE },
updatedAt: { allowNull: false, type: Sequelize.DATE },
});
}).then(() => {
return queryInterface.addConstraint(
'user_role',
['userUuid', 'roleUuid'], {
unique: true,
type: 'primary key',
name: 'userrole_pkey',
}
);
});
переименовал поля, чтобы они были похожи на сгенерированные из sequelize