Railsでデータベースのリセットをしよう!

データベースを空にするために、

rails db:reset

rails db:migrate:reset

の2種類存在する。この2つについて考えていきます。

rails db:resetとは

rails db:resetは2種類のコマンドを実行するのと同じ働きがあります。

上の2種類のコマンドを実行するのと同等なので、一度データベースを削除して、スキーマからテーブルを再度作成し、シードデータを用いてデータベースの初期化を実行します。

rails db:migrate:resetとは

rails db:migrate:resetでは、DBの削除、DBの作成、rails db:migrateが行われます。なので、seeds.rbの読み込みがないため、ダミーデータのようなものは作成されません。

どちらを使うか

seeds.rbの読み込みまでしたい場合は、rails db:reset 読み込みまではしたくない場合は、rails db:migrate:resetということになる。

参考

https://k-koh.hatenablog.com/entry/2020/09/25/232829 https://railsguides.jp/active_record_migrations.html https://note.com/kentarotawara/n/n976705aa4cb8 https://railsdoc.com/rake#rake_db_migrate