-1

我是 Rails 新手,刚刚对强大的 Rails 控制台有过第一次糟糕的体验。我覆盖了 ALL 中的一列,而不仅仅是一条记录,经过数小时的谷歌搜索,我没有找到一种通用的方法来回滚这个愚蠢的事务(最终手动修复了 76 行!)。

我正在研究 heroku 的实时环境,只想修复一个条目。如果您做了愚蠢的事情,必须有一种方法可以回滚数据库中的事务(postgres) - 而不是使用 pgbackup。

如果您可以与我分享一些最佳实践或给我一个很好的阅读开始,那就太好了。谢谢!

4

1 回答 1

0

我假设您已经提交了交易,但万一您还没有提交,您可以简单地执行以下操作:

ROLLBACK TRANSACTION;

由于我假设您已经尝试过,不幸的答案是您唯一的选择是从最后一个已知的良好状态恢复数据库。

有一些选项和插件可能有助于在未来避免这个问题,但它们都会带来性能成本。有关Database Content VersioningPostgres reverting back的一些信息,请参阅这些其他 Stack Overflow 问题。

于 2013-11-02T06:18:54.230 回答