我有这些关联
// Tasks.js
sequelize.models.tasks.belongsTo(sequelize.models.users, {
foreignKey: {
type: DataTypes.INTEGER,
field: 'ASSIGNEE',
allowNull: true
},
as: 'assignee'
});
sequelize.models.tasks.belongsTo(sequelize.models.users, {
foreignKey: {
type: DataTypes.INTEGER,
field: 'REPORTER',
allowNull: true
},
as: 'reporter'
});
// Users.js
sequelize.models.users.hasMany(sequelize.models.tasks, { as: 'assignee' });
sequelize.models.users.hasMany(sequelize.models.tasks, { as: 'reporter' });
这些关联创建了两个FK:ASSIGNEE和REPORTER。但它也创建了另一个:userId。 我知道这个" userId" FK是默认的,但我不想要它。我想要的是我在协会中描述的这两个。
如何让sequelize忽略默认值并创建我期望的内容?
答案 0 :(得分:0)
更改用户关联
sequelize.models.users.hasMany(sequelize.models.tasks, { as: 'assignee' ,foreignKey :'ASSIGNEE'});
sequelize.models.users.hasMany(sequelize.models.tasks, { as: 'reporter' ,foreignKey :'REPORTER'});