rails test をしたときの ActiveRecord::NoDatabaseError を解決する (Railsチュートリアル 3章)


自分がrailsチュートリアルを進めていく上で、発生したエラーを記録していきます。
ハードはMacBook Air, 開発環境はVScodeを用いています。

Rails チュートリアル 3章 3.3.1 最初のテスト

実行するコマンド
$ rails test
発生するエラー
$ rails test
~省略~
~省略~ FATAL:  database "tutorial_test" does not exist (ActiveRecord::NoDatabaseError)

これは、データベースがありません!というエラーです。rails testをするときも、テスト用のデータベースを作成する必要があります。

解決方法 データベースを生成する

そこで、コマンドでデータベースを生成します。

データベースを生成するために実行するコマンド
$ rails db:create

ちなみに

$ rake db:create

でもできます。これについては、こちらの記事が参考になります。Railsのrakeってなんぞ?

このコマンドでは、config/database.yml の内容に沿ってデータベースが生成されます。

実行結果
$ rails db:create

Created database 'アプリ名_development'
Created database 'アプリ名_test'

このように表示されると、データベースが正常に生成されたことになります。

ここまできたら、$ rails test が正しく通るはずです!

役に立ったら是非LGTMボタンをポチッと押していただけると嬉しいです。
一緒に Rails学習 頑張りましょう!