第6章で躓いたところの備忘録
###6.2.1 「有効性を検証する」にて不具合
Migrations are pending. To resolve this issue, run:
bin/rails db:migrate RAILS_ENV=test
と表示されてしまう
###解決?
sample_app\db\test.sqlite3を手動で削除したあと
bundle exec rake db:migrate RAILS_ENV=development
とコマンドすることで無事
rails test:models
をパスすることが出来た。
###原因?
どうもネット上をエラーメッセージを元に検索してみるとwin10環境下で起きているようだ。
原因は私には特定できなかったがおそらく核心を突いた答えではないかと思われる文言を残したい。
下記を引用 https://teratail.com/questions/178462
より
2019/03/09 16:13
なんとなく、裏でrailsを起動したままな気がします
C:/Users/snish/environment/sample_app/db/test.sqlite3 を削除することで
rails db:migrate RAILS_ENV=test ができると思いますよ
###追記 6.29でも同様の事象が発生。解決策も当該ファイル削除後
'rails db:migrate RAILS_ENV=test'
'rails test'
でテストをパスできた。
###追記2 6.3.4ユーザーの作成と認証
undefined method `password_digest='
このメッセージが出てsqllite3が動いてないような挙動を見せるが、こちらも上記ファイルを削除することでデーターベースにアクセスすることが出来るようになる。面倒だが…