【问题标题】:How to restore the data which are already deleted DB in rails console by using rails commands?如何使用rails命令恢复rails控制台中已经删除的数据?
【发布时间】:2021-02-12 14:16:52
【问题描述】:
我删除了数据库中的一些数据,但我想要恢复这些数据。
有没有办法从使用 rails 控制台删除的数据库中恢复数据?
【问题讨论】:
标签:
ruby-on-rails
rails-console
【解决方案1】:
很遗憾,您无法使用控制台工具恢复数据,除非之前删除的对象已保存到变量或其他位置。
【解决方案2】:
不,您无法恢复使用 rails 控制台删除的任何数据。您将需要备份。如果您没有备份,您将无法恢复数据。
但是,根据您删除数据的方式,您可能有机会在删除数据时恢复它。
如果您使用如下 ActiveRecord 代码
Rails.application.eager_load!
ActiveRecord::Base.connection.disable_referential_integrity do
ApplicationRecord.descendants.each do |model|
model.delete_all
end
end
数据丢失。 (查看this question 以及有关截断数据的不同方法的答案)
如果你做了这样的事情:
objects = MyModel.delete_all
那么您可能有机会使用objects 数组立即恢复它们。