Sequelize.js 使关联成为列的唯一ID
我希望数据库中的用户有一个Sequelize.js 使关联成为列的唯一ID,sequelize.js,Sequelize.js,我希望数据库中的用户有一个标记列表。我希望标签表有两列: 用户ID-用户ID 标签名称-标签 我目前已经尝试过让User.hasMany(标记,{primaryKey:true,foreginKey:'userId'}) 但我最终在所有其他列的顶部都有一个“ID”列。我希望“UserID/TagName”是唯一的关联(意味着用户和标记只能有一个实例)最简单的选择是添加一个新的迁移,对UserID和标记有唯一的约束,如下所示 module.exports = { up(queryInterfa
标记列表
。我希望标签表有两列:
用户ID
标签
.hasMany(标记,{primaryKey:true,foreginKey:'userId'})代码>
但我最终在所有其他列的顶部都有一个“ID”列。我希望“UserID/TagName”是唯一的关联(意味着用户和标记只能有一个实例)最简单的选择是添加一个新的迁移,对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,
});
},
};