è possibile definire due chiavi esterne come chiave primaria composita di un modello?Sequenza, chiavi esterne come chiave primaria composta
Un utente può essere solo un membro di una famiglia, una famiglia può avere molti membri e la tabella-membri della famiglia hanno bisogno i riferimenti degli utenti e della famiglia
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
*/
}
)
Non sono sicuro di poter creare una chiave primaria composita, ma so che è possibile creare una chiave univoca composta. Non sono sicuro se aiutano comunque la tua situazione. –