Sequelize - 在事务中插入多个关联实体失败

时间:2015-04-27 14:14:03

标签: transactions associations sequelize.js

我有两个模型:Status和StatusParameter。状态' hasMany()' StatusParameter和StatusParameter' belongsTo()'状态。我想插入状态记录,然后插入与新状态关联的多个StatusParameter实体。我想在事务中包装所有插入。我正在使用Sequelize 2.0.5,所以这就是我提出的:

GWT.getModuleName()

执行此代码片段将始终进入回滚场景,其中堆栈跟踪指向方言/ mssql / query.js第66行,并显示错误消息:无法读取属性' emit'未定义的

我不知道为什么我得到这个,我看了一下query.js代码但是无法解释为什么在这种情况下未定义promise变量,特别是如果我只插入一个新的StatusParameter实体,一切正常。当我插入错误出现的多个关联实体时,它真的。

谢谢! 菲尔

1 个答案:

答案 0 :(得分:0)

我尝试了最新的sequelize标签(不是发布)当时是2.1.0,正如Jan所建议的那样,它工作得很好但我只需要使用Promise.map和{concurrency:1}而不是Promise。因为单调乏味(我在MS SQL Server数据库上)抱怨同时执行两个查询,稍后会查看是否可以同时添加它们并获得一点性能提升。谢谢@jan !!