// 创建一个新的 query runner
const queryRunner = dataSource.createQueryRunner()
// 使用我们新的 query runner 建立真实的数据库连接
await queryRunner.connect()
// 现在我们可以在 query runner 上执行任何查询,例如:
await queryRunner.query("SELECT * FROM users")
// 我们也可以访问与 query runner 创建的连接协同工作的实体管理器:
const users = await queryRunner.manager.find(User)
// 现在打开一个新的事务:
await queryRunner.startTransaction()
try {
// 在这个事务上执行一些操作:
await queryRunner.manager.save(user1)
await queryRunner.manager.save(user2)
await queryRunner.manager.save(photos)
// 现在提交事务:
await queryRunner.commitTransaction()
} catch (err) {
// 因为发生了错误,所以回滚我们做出的更改
await queryRunner.rollbackTransaction()
} finally {
// 你需要释放手动创建的 query runner:
await queryRunner.release()
}