是什么原因导致数据库被意外截断?

时间:2019-09-06 13:44:25

标签: ruby-on-rails postgresql rake

今天下午,当我笔记本电脑上的开发版本突然停止工作时,我正在使用Ruby on Rails应用程序。原来整个数据库都已清空。我有一个备份,所以这不是问题,但我对应用程序的在线版本中包含重要数据的情况感到担心。

当时我正在做的事情可能会影响到这个问题: -进行了2次迁移,添加了以下表格:

class AddUpdatedatesToProduct < ActiveRecord::Migration
  def change
    add_column :products, :last_image_check, :datetime
    add_column :products, :last_feed_update, :datetime
    add_column :products, :last_response_check, :datetime
  end
end

class AddRuntimeToFeedRun < ActiveRecord::Migration
  def change
    add_column :feed_runs, :runtime, :datetime
  end
end

我运行了bundle update,将rake宝石的评级从12下调至10.5。尝试升级宝石rails-spec(同时尝试将last_comment error排除为mentioned here时)。问题是是否有rake db:drop,但我很确定我从未这样做过。

我通过直接登录postgresql确认所有表都已清空(但表本身仍然保留)。

我的代码中几乎没有什么可以做数据库中的任何重大删除操作。我没有提到重置数据库,截断之类的东西。从这个意义上讲,代码中没有什么会影响所有表。

我的日志(在疑难解答期间重新启动笔记本电脑后,我不再可以访问)的日志仅显示正在加载的页面,然后显示的是下一页,其中不再包含与数据相关的错误。我很确定实际运行Web应用程序导致的任何操作都没有。一定是我在控制台上所做的。

到底是什么导致了类似的事情发生?如果没有其他要求,什么命令将删除所有表中的所有行?

0 个答案:

没有答案