我想对数据库事务使用try catch,因为如果遇到错误我希望数据库在try函数中回滚所有查询
这是我的尝试。我要评论const empImg
,因为我想测试。查询错误未知await emp.save();
empImg
const trx = await Database.beginTransaction()
try {
const user = await auth.getUser();
const emp = new Employee();
emp.fill(empData);
emp.merge({ update_by: user.name })
await emp.save();
// const empImg = new EmployeePhoto();
empImg.name = user.name;
await empImg.save();
await trx.commit()
} catch (error) {
await trx.rollback()
throw new InvalidAccessException();
}
我当然可以放
emp.delete();
处于捕获状态,但我必须检查哪个查询错误并将其删除。
如果出现错误,我该如何回退我的emp和empImg?