gpt4 book ai didi

postgresql - 在 destory 和 bulkCreate 上 Sequelize js 事务不回滚

转载 作者:行者123 更新时间:2023-12-03 22:22:51 28 4
gpt4 key购买 nike

我试图在 bulkCreate/insert 新的之前删除所有 report_details。问题是当 bulkCreate 出现错误时它不会回滚。它应该会恢复被销毁的 report_details,但它不起作用。

我测试此事务代码的方法是插入 report_details,然后手动更改一个 名称,以便在再次插入时出现列错误。并且事务应该回滚,但在实际的 report_details 中被销毁并且在 bulkCreate 错误时它不会带回被销毁的 report_details有人可以看看我的代码吗?我在谷歌上搜索我的语法是正确的。以及如何在我的机器上测试交易?除了更改列名之外,还有其他方法可以产生错误吗?

function saveReportsDetails(results) {
db.report_detail.bulkCreate(results.report.objAllReportsDetail);

return db.snpreq.transaction(t => {
// transaction block
return db.report_detail.destroy({
where: {
profile_id: results.profile.data[0].id
}
}, {
transaction: t
}).then(deleted => {
console.log('*******TRANSACTION DELETED*********');

return db.twenreport_detail.bulkCreate(results.report.objAllReportsDetail, {
transaction: t
}).then(reports_created => {
console.log('*******TRANSACTION bulk created*********');
});
});
}).then(transaction => {
console.log('********All Transaction********');
}).catch(err => {
console.log('*******ROLL BACK*********');
});
}

最佳答案

m 代码语法错误。在删除事务中,它需要 transaction: t 在单个参数中像这样

return db.twentythree_and_me_report_detail.destroy({
where: {
profile_id: results.profile.data[0].id
},
transaction: t
})

我没有收到任何类型的语法错误或任何其他错误。所以,我一直在搜索并找到了答案

关于postgresql - 在 destory 和 bulkCreate 上 Sequelize js 事务不回滚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48497899/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com