【发布时间】:2019-08-30 03:09:06
【问题描述】:
我需要在 sequelize 事务中记录一组对象。
我得到了一个后续交易,我记录了一个项目(例如)。然后我需要记录一些任务,我用 bulkCreate 完成了,但后来我意识到我直接从模型 Task 调用了 bulkCreate 的事务。
try {
const transaction = await db.transaction(t => {
return Project.create(
{ ...req.body.projectFull.entity },
{ transaction: t }
).then(
projectCreated => {
let tarefas = req.body.projectFull.tasks;
const addProjectId = function(object) {
object.projectId = projectCreated.dataValues.id;
return object;
};
let criarTarefas = tarefas.map(addProjectId);
Task.bulkCreate(criarTarefas);
},
{ transaction: t }
);
});
我希望 bulkCreate 在我的事务中工作,而不是直接来自模型。我提供的代码可以正常工作并记录数据,但它会在 bulkCreate 上处理事务
【问题讨论】:
标签: mysql node.js transactions sequelize.js