【问题标题】:How can I revert or rollback the database changes made during testing using 'tap' after test is completed?测试完成后,如何使用“tap”恢复或回滚测试期间所做的数据库更改?
【发布时间】:2020-02-20 06:17:00
【问题描述】:

我正在使用 tap 框架来测试我的节点应用程序。在运行测试时,我正在对数据库进行一些更改。

我想在测试后恢复数据库中所做的所有更改。谁能帮我解决这个问题?

【问题讨论】:

  • 您采用了错误的方法,您在没有备份数据库的情况下进行了更改,这是错误的。请问您使用的是哪个数据库?
  • 我正在使用 Postgres 数据库
  • tap 框架本身有什么选项吗?
  • 不,我认为没有任何选择。那么你做了什么样的改变?
  • 我在表中新建了一条记录,删除了一条记录

标签: node.js database testing tap fastify


【解决方案1】:

不,您不能撤消、回滚或撤消提交。

基本上,从备份中恢复。如果不能,您可以通过**pg_dirtyread** 恢复。

如果您没有备份,请停止整个服务器,获取驱动器的磁盘映像,然后联系 $lots 数据恢复专家。

如果您已提交事务,则无法回滚或撤消更新。请在此处找到详细答案。

媒体上有一篇关于pg_dirtyreadhere的文章。

Can I rollback a transaction I've already committed? (data loss)

【讨论】:

    猜你喜欢
    • 2023-01-09
    • 2018-04-10
    • 1970-01-01
    • 1970-01-01
    • 2017-11-23
    • 2011-09-23
    • 2010-10-20
    • 2015-07-09
    • 1970-01-01
    相关资源
    最近更新 更多