Node.js Sequelize[ES6]单独文件循环参考

Node.js Sequelize[ES6]单独文件循环参考,node.js,ecmascript-6,sequelize.js,Node.js,Ecmascript 6,Sequelize.js,有两个文件,一个叫做 customer.model.js lease.model.js 如果我将以下Lease.belongsTo(CustomerModel)添加到Lease.model.js以指示外键关系,我将获得循环引用解决此问题的好方法是什么?创建一个index.js文件。导入此文件中的所有模型并将其关联。之后,重新导出这些模型 例如 models/customer.model.js: 从“../databaseContext”导入DbContext 从“Sequelize”导入Sequ

有两个文件,一个叫做

customer.model.js

lease.model.js


如果我将以下
Lease.belongsTo(CustomerModel)
添加到Lease.model.js以指示外键关系,我将获得循环引用解决此问题的好方法是什么?

创建一个
index.js
文件。导入此文件中的所有模型并将其关联。之后,重新导出这些模型

例如

models/customer.model.js

从“../databaseContext”导入DbContext
从“Sequelize”导入Sequelize
const CustomerModel=DbContext.define('customer'{
姓名:{
类型:Sequelize.STRING(50)
},
中间名:{
类型:Sequelize.STRING
},
姓氏:{
类型:Sequelize.STRING(50)
},
电邮:{
类型:Sequelize.STRING(62)
}
});
导出默认CustomerModel;
models/lease.model.js

从“Sequelize”导入Sequelize
从“../databaseContext”导入DbContext
const LeaseModel=DbContext.define('lease'{
租赁单位名称:{
类型:Sequelize.STRING(50)
},
客户识别码:{
类型:Sequelize.IndexHints
}
})
导出默认LeaseModel
models/index.js

从“./customer.model”导入CustomerModel
从“/lease.model”导入LeaseModel;
//导入其他模型。。。
CustomerModel.hasMany(最小模型);
LeaseModel.belongsTo(客户模型);
//关联其他模型。。。
导出{CustomerModel,LeaseModel}

Sequelize
用于具有名为import的方法。您只需在那里导入模型并将每个模型连接到它的构造函数中即可。

有趣的是,我唯一的挑战是可能有100个表,并且这些关系将被忽略up@eugenekgn这是我在项目中与typescript结合使用的方法。我差不多有30张桌子。
import DbContext from '../databaseContext'
import Sequelize from 'sequelize'
import LeaseModel from './lease.model';

const CustomerModel = DbContext.define('customer', {
  first_name: {
    type: Sequelize.STRING(50)
  },
  middle_name: {
    type: Sequelize.STRING
  },
  last_name: {
    type: Sequelize.STRING(50)
  },
  email: {
    type: Sequelize.STRING(62)
  }
})

CustomerModel.hasMany(LeaseModel)


export default CustomerModel
import Sequelize from 'sequelize'

const LeaseModel = DbContext.define('lease', {
  lease_name: {
    type: Sequelize.STRING(50)
  },
  customer_id: {
    type: Sequelize.IndexHints
  }
})

export default LeaseModel