0

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

4

1 に答える 1

0

レーキタスクの後に Course.reset_column_information を試してください。

于 2012-08-16T14:29:57.190 に答える