私の 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
動作しているように見えます (もちろん、テスト データベースが準備されていないことを除きます)。問題が何であるか、またはどのように修正できるかについてのアイデアはありますか?