Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个需要对数据库进行更改的 Rails 应用程序,有没有办法可以设置它,以便最后回滚所有数据库操作,例如沙盒/事务?
不确定它是否对您有帮助,但您始终可以rails console在沙盒模式下运行:rails c -s. 一旦您退出控制台,这将自动回滚所有事务。
rails console
rails c -s
您也可以查看database_cleaner宝石。
database_cleaner
您可以将每个请求包装在一个环绕过滤器中,该过滤器显式启动事务并在 yield 返回时进行回滚。将它添加到 ActionController::Base 应该做什么?
请先备份,顺便说一句:p
另一种选择可能是点击服务器故障并寻求文件系统快照的帮助。