4

对于我的数据库项目,我使用的是 SQL Alchemy。我有一个单元测试,将对象添加到表中,找到它,更新它,然后删除它。在它完成之后,我假设我会调用session.rollback方法来恢复数据库更改。它不起作用,因为我的序列没有恢复。我的项目计划是有一个数据库,我不想创建一个测试数据库。

我在 SQL Alchemy 的文档中找不到有关如何正确回滚数据库更改的信息。有谁知道如何回滚数据库事务?

4

1 回答 1

-3

即使在回滚的事务中使用该序列,Postgres 也不回滚序列中的进展。(要了解原因,请考虑如果在回滚一个事务之前提交另一个使用相同序列的事务会发生什么。)

但无论如何,内存数据库(SQLite 让这一切变得简单)是单元测试的最佳选择。

于 2012-09-16T01:35:34.157 回答