Node.js Sequelize[ES6]单独文件循环参考
有两个文件,一个叫做 customer.model.js lease.model.jsNode.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
如果我将以下
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