在 destory 和批量创建不回滚时对 js 事务进行续集



>我正在尝试在批量创建/插入新report_details之前删除所有。问题是当批量创建中出现错误时,它不会回滚。它应该将被摧毁的report_details带回来,但它不起作用。

我测试此事务代码的方法是插入report_details,然后手动更改一个名,以便在再次插入时出现列错误。 事务应该回滚,但实际上report_details被销毁,并且在批量创建错误时,它不会带回已销毁的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 代码语法中存在错误。在删除事务中,它接受事务:单个参数中的t。喜欢这个

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

我没有收到任何类型的语法错误或任何其他错误。 所以,我只是继续搜索并找到答案

相关内容

  • 没有找到相关文章

最新更新