解决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})