有谁知道我如何使用复合键与使用Sequelize
的表及其内置关系相关联?
我尝试使用primaryKey: true
和unique:
但无济于事。
答案 0 :(得分:1)
以下是如何在sequlize
中定义复合键的示例sequelize.define('item_likes',{
item_id:{
type: db.Sequelize.INTEGER,
allowNull: false,
unique:"liked_user" // this will create composite key
},
user_id:{
type: db.Sequelize.INTEGER,
allowNull: false,
unique:"liked_user" // this will create composite key
},
anonymously:{
type : db.Sequelize.BOOLEAN,
defaultValue : false,
comment : "( True : user wants to be anonymous )"
}
}
您需要做的就是使用unique:"liked_user"
,其中liked_user
是密钥的名称,仅用于标识,对于要复合的字段应该相同。
协会:
ItemLikes.belongsTo(Item,{foreignKey: 'item_id'});
Item.hasMany(ItemLikes,{foreignKey:'item_id'});
ItemLikes.belongsTo(User,{ foreignKey : 'user_id'});
User.hasMany(ItemLikes, { foreignKey: 'user_id'});