Sequelize,批量创建多个表,如果出现错误则全部失败

时间:2015-05-25 20:07:07

标签: mysql sequelize.js

我有以下表格:

  • 组织
  • agentorganisation

我想创建一个新代理(id:1)并将其链接到一个组织(id:3) 但出于某种原因,我的代码在代理组织中添加了一条记录:

agentId:1,(这是一个DataTypes.INTEGER)

organisationId:' bla' (这是一个DataTypes.INTEGER)

这会为代理组织生成错误并且不会注入它,但代理将被注入代理表中。这将产生不良数据,我想避免它。

所以我的问题:

如果失败,如何取消所有创建?

1 个答案:

答案 0 :(得分:3)

使用交易http://docs.sequelizejs.com/en/latest/docs/transactions/

sequelize.transaction(function (t) {
  model.bulkcreate(data, { transaction: t });
});