交易代理
事务客户端 扩展了 [查询客户端](docs.adonisjs.com/reference/databa... /query-client) 并在标准查询客户端之上具有以下额外属性。
你可以通过以下方式访问事务查询客户端:
import Database from '@ioc:Adonis/Lucid/Database'
const trx = await Database.transaction()
// 对一个给定的连接
const trx = await Database
.connection('pg')
.transaction()
你还可以按如下方式定义事务隔离级别。
await Database.transaction({
isolationLevel: 'read uncommitted'
})
以下是可用隔离级别的列表。
- 读取未提交
- 读取已提交
- 快照
- 可重复读取
- 可序列化
方法 / 属性#
以下是事务客户端类上可用的方法和属性的列表。
commit#
提交交易
await trx.commit()
rollback#
回滚事务
await trx.rollback()
isCompleted#
查找事务是否已完成。
if (!trx.isCompleted) {
await trx.commit()
}
Events#
当事务提交或回滚时,事务客户端还会触发以下事件。
trx.once('commit', (self) => {
console.log(self)
})
trx.once('rollback', (self) => {
console.log(self)
})
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。