0

在我的 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一切的行似乎工作正常(当然,除了它没有准备测试数据库)。任何想法是什么问题或我该如何解决?

4

1 回答 1

0

在 rake 任务之后尝试 Course.reset_column_information。

于 2012-08-16T14:29:57.190 回答