我第一次尝试sequelize
,我在使数据库模型工作时遇到了一些麻烦。
sequelize.sync()
因Error: Circular Dependency Instruction -> Result => Instruction
这是有道理的,因为我的模型是循环的:
const Instruction = db.define('instruction', {
id: {
type: Sequelize.INTEGER,
allowNull: false,
primaryKey: true,
autoIncrement: true,
},
/* more keys here */
});
//each instruction results in one or more results
const Result = db.define('result', {
id: {
type: Sequelize.INTEGER,
allowNull: false,
primaryKey: true,
autoIncrement: true,
},
/* more keys here */
});
//Relationships
//each instruction has one or more results
Instruction.hasMany(Result, { as: 'results'} );
//each result has a resulting instruction
Result.hasOne(Instruction, { as: 'nextInstruction' });
//each result belongs to a instruction which lead to the result.
Result.belongsTo(Instruction, { as: 'originInstruction' })
每条指令都有1-n个结果,每个结果都有下一条指令。
我不确定是否有更好的方法将其建模为数据库,或者我是否错过了使用sequelize工作的方法。不幸的是,我不是那么流利的SQL,所以它可能是第一个。
非常感谢任何帮助。