egg-sequelize事务
async addUser () {
const { ctx } = this;
const body = ctx.request.body
let transaction = null
try {
transaction = await this.ctx.model.transaction();
let list = await ctx.model.User.create({
name: body.name,
addr: body.addr,
}, { transaction })
await ctx.model.Models.create({
name: body.modelName,
}, { transaction });
await transaction.commit();
// throw new Error(); // 即使数据库操作成功 , 此条语句依然会回滚
ctx.body = { code: 2, msg: '' }
} catch (error) {
await transaction.rollback();
ctx.body = { code: 0, msg: 'err' }
}
}