解决myql 表和表循环引用错误
const Document = this.sequelize.define('document', {
author: Sequelize.STRING
})
const Version = this.sequelize.define('version', {
timestamp: Sequelize.DATE
})
Document.hasMany(Version) // 这将 document_id 添加到版本
Document.belongsTo(Version, { as: 'Current', foreignKey: 'current_version_id'}) // 这将current_version_id添加到文档
但是,上面的代码将导致以下错误: Cyclic dependency found. ‘Document’ is dependent of itself. Dependency Chain: Document -> Version => Document.
为了解决这个问题,我们可以将 constraints: false 传递给其中一个关联:
Document.hasMany(Version)
Document.belongsTo(Version, { as: 'Current', foreignKey: 'current_version_id', constraints: false})
本文介绍了一种常见的MySQL表关联错误——循环引用,并提供了解决方案。通过在定义表关联时设置constraints:false参数,可以避免因表之间的相互依赖而产生的错误。
3455

被折叠的 条评论
为什么被折叠?



