読者です 読者をやめる 読者になる 読者になる

【RSpec】なんかテストでAssociationが反映されなくて困った

Rails Ruby RSpec

モデル間のassociationを変更した時に、エラーが出た。 モデルファイルに記述する関係性も大丈夫だし、属性の名前も変更した。 じゃあとはなんだ...?

と思って

$ bin/rake db:reset:migrate

とかj

$ bin/rake db:drop
$ bin/rake db:setup

とか試してたんだけど、途中テスト用のDBだけ作られない的な 問題も起こった。

4.1くらいからrails_helper.rbに以下のように書けばRails側でテスト用のデータベースもよしなにしてくれる的な感じだったと思う。

ActiveRecord::Migration.maintain_test_schema!

ここのPRあたり読めばだいたいどんな感じでよしなにしてくれてるのか分かるのかも。(分かっていない)

https://github.com/rails/rails/pull/13528/files

どうやら、原因はtest環境のdatabaseがdropされて、もう一度createされてないみたい。

なので

$ rake db:migrate:reset RAILS_ENV=test

とかやればリセットされるかなと思います。

とりあえずデータベース自体への勉強が不足してると感じたのでした...