在我的Rails应用程序中,我创建了一个使用db:reset
重置数据库的rake任务,使用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
的行,一切似乎都工作正常(当然,它不会准备测试数据库)。任何想法是什么问题或我如何解决它?
答案 0 :(得分:0)
在rake任务之后尝试Course.reset_column_information。