Dan*_*ial 5 postgresql transactions sequelize.js mean-stack sequelize-cli
我试图在批量创建/插入新报告之前删除所有报告详细信息。问题是当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*********');
});
}
Run Code Online (Sandbox Code Playgroud)
Dan*_*ial 11
m 代码语法有错误。在删除事务中,它需要transaction: t在单个参数中,如下所示
return db.twentythree_and_me_report_detail.destroy({
where: {
profile_id: results.profile.data[0].id
},
transaction: t
})
Run Code Online (Sandbox Code Playgroud)
我没有收到任何类型的语法错误或任何其他错误。所以,我只是继续搜索并找到答案
| 归档时间: |
|
| 查看次数: |
7499 次 |
| 最近记录: |