解决圆形Dependencys

时间:2017-08-18 20:32:53

标签: javascript sql node.js orm sequelize.js

我第一次尝试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,所以它可能是第一个。

非常感谢任何帮助。

0 个答案:

没有答案