2011-07-01 125 views
7

我剛剛經歷了升級使用測試單元到Rails 3.1.rc4的Rails 2.3.11應用程序的過程,現在我已經設置了rspec-rails 2.6.1。Rails 3升級後rake db:test:prepare not working?

我還將database.yml中的測試連接切換爲使用sqlite代替postgres。

我可以全天運行rake db:migratedb:test:prepare,但在我的模型測試中,我得到「無法找到表'model_name'」。

有沒有人遇到過這個?

+4

嘗試bundle exec rake db:setup? –

+0

@CountCet:我在這裏遇到了同樣的問題,但運行'guard'時。 'bundle install','rake db:reset'和'rake db:test:prepare'修正了它,但我仍然不知道它爲什麼發生在第一位。 – l0b0

回答

0

select * from schema_migrations會顯示什麼?驗證您期望的遷移實際上是否已經存儲。如果你知道哪個遷移失敗,你可以使用rake db:migrate:redo VERSION=<VERSION>

不道歉,不作評論。 StackOverflow的「不能評論,直到50」的政策似乎有點向後:)

4

我以前遇到過這個。嘗試從頭開始重建:

rake db:drop RAILS_ENV=test 
rake db:create RAILS_ENV=test 
rake db:migrate RAILS_ENV=test