私の Rails アプリでは、データベースを でリセットしdb:reset、テスト用データベースを準備してdb:test:prepareから、ActiveRecord を使用してサンプル データをデータベースに再入力する rake タスクを作成しました。
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動作しているように見えます (もちろん、テスト データベースが準備されていないことを除きます)。問題が何であるか、またはどのように修正できるかについてのアイデアはありますか?