在Rails app中的Rake任务中删除表

时间:2013-05-15 16:39:49

标签: ruby-on-rails-3 rake database-migration

我想通过Rake任务随意删除我的Rails应用程序中的所有表。

这是用于测试/暂存目的,回滚迁移在这里似乎不合适/不必要。

我必须:

ActiveRecord::Base.connection.tables.each do |t|
  puts "=== Deleting: #{t.to_s}"
  drop_table t
end

但当然drop_table在这种情况下是未定义的。我该怎么称呼它?

1 个答案:

答案 0 :(得分:3)

好的,我在这里找到了答案:http://problemateek.blogspot.co.uk/2012/07/drop-table-from-rails-console.html

调用只需要在ActiveRecord::Migration下确定范围,如下所示:

ActiveRecord::Migration.drop_table t