【问题标题】: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 数组立即恢复它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-01
      • 2016-06-10
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      • 2016-10-10
      • 2016-02-04
      相关资源
      最近更新 更多