yak*_*you 5 node.js express sequelize.js
据我所知,在 sequelize 中,有两种定义外键的方法。
首先,使用references
像:
sequelize.define('foo', {
bar_id: {
type: 'blahblah',
references: {
model: Bar,
key: 'id'
}
}
});
Run Code Online (Sandbox Code Playgroud)
其次,使用belongsTo
方法:
Foo.belongsTo(Bar, { foreignKey: 'bar_id', targetKey: 'id' });
Run Code Online (Sandbox Code Playgroud)
那么当我在模型中定义外键时,我应该使用其中之一吗?或两者?
belongsTo
足以定义外键,我可以删除 中的bar_id
定义sequelize.define('foo', {...})
吗?小智 4
根据他们的文档,如果您不想创建关联和约束,则可以使用引用创建 FK。否则使用 HasOne、HasMany 或 BelongsTo。
我个人只使用过 HasOne、HasMany 和 BelongsTo 方法。
在上面的链接中查看有关关联的整个部分可能是个好主意。