Rails迁移到清除数据库表的内容?

时间:2013-07-09 09:11:43

标签: ruby-on-rails migration

一些JSON调用的(偶尔非常大的)输出被写入我的数据库以加快速度;该应用程序获取从数据库预渲染的JSON输出。

每当内容发生一点变化时,输出就会有所不同。我正在寻找一个我可以在部署中包含的rails迁移,以清除存储我的JSON代码的特定表。

1 个答案:

答案 0 :(得分:0)

您可以将其放入迁移中。警告,这将删除表中的所有数据!

Model.connection.execute('DELETE FROM table_name');

或者,你可以每天运行一些代码(crontab)来删除X个月前的所有代码:

def self.delete_old_stuff
  month = 3
  Model.where("updated_at < ?" , month.months.ago).each{|c| c.destroy}
end

你可以通过rails的runner命令调用它或者在rake任务中集成它...我使用类似的方法在一个小型电子商务应用程序中清除旧篮子。