【问题标题】:TypeORM is not rollback on failure'sTypeORM 不会在失败时回滚
【发布时间】:2020-12-25 09:18:07
【问题描述】:

我是 pg 的 TypeORM 新手,我已经声明了一个扩展 BaseEntity 的类“用户”。我创建了类添加值(user.name = 'Arun')的实例(用户),然后在 user.save() 上因数据库约束而失败。似乎 TypeORM 没有恢复提交。 here 自动生成的 ID 不是增量的,因为没有回滚。我是否错过了任何回滚配置?我想知道使用构造函数创建 TypeORM 模型的更好示例。

【问题讨论】:

  • 欢迎来到 StackOverflow。您能否阅读问题指南并根据指南更正您的问题?我们需要您的代码或错误日志,以便社区成员做出回应。 how-to-ask

标签: typeorm rollback pg


【解决方案1】:

默认情况下,TypeORM 查询不是事务性的。

如果你想在失败的情况下使用事务来回滚查询,你需要EntityManager

import {getManager} from "typeorm";

await getManager().transaction(async transactionalEntityManager => {
    await transactionalEntityManager.save(users);
    await transactionalEntityManager.save(photos);
    // ...
});

Docs here 了解有关 TypeORM 事务的更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-30
    • 2017-05-31
    • 2019-11-16
    • 1970-01-01
    • 2018-01-12
    • 2020-10-18
    • 1970-01-01
    • 2015-10-12
    相关资源
    最近更新 更多