我希望我的数据库中的用户有一个tags列表。我希望标签表是两列:
userIdtag目前,我已经尝试了让用户.hasMany(Tags, { primaryKey: true, foreginKey: 'userId' });,但我最终在所有其他列之上有一个"ID“列。我希望"UserID/TagName“是唯一的关联(这意味着只能有一个用户和标记的实例)
发布于 2017-06-12 00:58:30
最简单的选择是在userId &标记上添加一个具有唯一约束的新迁移,如下所示,
module.exports = {
up(queryInterface, Sequelize) {
const sql = 'ALTER TABLE Tags ADD CONSTRAINT user_id_tag UNIQUE(userId, tag)';
return queryInterface.sequelize.query(sql, { type: Sequelize.QueryTypes.RAW,
raw: true,
});
},
down(queryInterface, Sequelize) {
const sql = 'ALTER TABLE Tags DROP CONSTRAINT IF EXISTS user_id_tag';
return queryInterface.sequelize.query(sql, { type: Sequelize.QueryTypes.RAW,
raw: true,
});
},
};https://stackoverflow.com/questions/44486781
复制相似问题