68

Rails 4.0.0.rc1、Ruby 2.0.0 で移行を実行した後、テストを実行しようとすると次のエラーが表示されますrspec

/Users/peeja/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activerecord-4.0.0.rc1/lib/active_record/migration.rb:376:`チェック保留中! ': 移行は保留中です。この問題を解決するには、「rake db:migrate RAILS_ENV=test」を実行します。(ActiveRecord::PendingMigrationError)

それは正しくないようです。テスト データベースを移行する人はいませんね。それらdb:test:prepareは、公平を期すために、私がするのを忘れていました。そのrake db:test:prepareため、rspecコマンドを実行して再度実行すると、同じエラーが表示されます。

私が実際rake db:migrate RAILS_ENV=testに 、エラーは実際に消えます。

どうしたの?これはRails 4の新機能ですか?

4

6 に答える 6

16

あなたも試すことができます

rake db:migrate RAILS_ENV=test

として機能します

db:test:prepare

:)

于 2014-09-23T08:46:52.947 に答える
2

chrubyRuby のバージョンを管理するために使用しているときに、この問題があることがわかりました。bin/rails db:test:preparesystem コマンドを介してRails を呼び出します。これは chrubys $PATHenv var を利用しないため、システムの ruby​​ が何であれ実行され、通常は gem が欠落しているために失敗します。残念ながら、私は現在これに対する良い解決策を持っていません。

于 2016-06-22T21:02:34.167 に答える