我试图从一个 rake 任务中删除测试和开发数据库,如下所示:
task :regenerate do
Rails.env = "test"
Rake::Task["db:drop"].invoke
Rails.env = "development"
Rake::Task["db:drop"].invoke
end
测试数据库已成功删除。但是开发数据库并没有被删除。
关于如何使这项工作的任何想法?
注意:这是在 Rails 3.2.3 上
更新:
很奇怪,但颠倒顺序有效:
task :regenerate do
Rails.env = "development"
Rake::Task["db:drop"].invoke
Rails.env = "test"
Rake::Task["db:drop"].invoke
end
到底是怎么回事?!