在我的 Rails 应用程序中,我创建了一个 rake 任务,它使用 重置数据库db:reset
,使用 准备测试数据库,db:test:prepare
然后尝试使用 ActiveRecord 使用示例数据重新填充数据库:
namespace :db do
task :repopulate => :environment do
Rake::Task['db:reset'].invoke
Rake::Task['db:test:prepare'].invoke
puts Course.first.inspect
end
end
不幸的是,当我运行它时任务失败,抱怨它Could not find table 'courses'
。此外,它似乎没有正确准备测试数据库,因为我的测试都失败了,直到我手动运行rake db:test:prepare
. 如果我注释掉调用db:test:prepare
一切的行似乎工作正常(当然,除了它没有准备测试数据库)。任何想法是什么问题或我该如何解决?