TypeORM 不会在失败时回滚

TypeORM is not rollback on failure's

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

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

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

import {getManager} from "typeorm";

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

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