可以將兩個外鍵定義爲模型的複合主鍵嗎?將外鍵作爲複合主鍵使用
用戶只能是一個家庭的成員,一個家庭可以有許多成員和家庭成員表所需要的用戶和家庭
const User = sequelize.define(
'User',
{
id: { type: dataTypes.INTEGER.UNSIGNED, autoIncrement: true, primaryKey: true },
name: { type: dataTypes.STRING(30) },
email: { type: dataTypes.STRING(30) }
...
},
{
classMethods: {
associate(models) {
User.hasOne(models.FamilyMember, {
foreignKey: 'user_id'
}
}
}
}
)
const Family = sequelize.define(
'Family',
{
name: { type: dataTypes.STRING(30) }
},
{
classMethods: {
associate(models) {
Family.hasMany(models.FamilyMember, {
foreignKey: 'family_id'
}
}
}
}
)
const FamilyMember = sequelize.define(
'FamilyMember',
{
name: { type: dataTypes.STRING(30) },
/*
family_id and user_id will be here after associations but I wanted them to be a composite primaryKey
*/
}
)
我不確定您是否可以製作複合主鍵,但我知道您可以製作複合唯一鍵。我不確定他們是否能夠幫助您解決您的問題。 –