こんにちは!
今回は、rails db:reset と rails db:migrate:reset の違いについて書きます!
rails db:reset
- rails db:reset は、データベースを再作成し、シードファイルを読み込んでダミーデータを挿入します。テーブルは再作成され、既存のデータはすべて削除され、シードファイルを元に新しいデータが作成されます。
- ただし、rails db:reset はマイグレーションを実行しません。マイグレーションファイルの内容は反映されず、db/schema.rb に基づいてテーブルが再作成されます。
rails db:migrate:reset
- rails db:migrate:reset はデータベースを再作成し、テーブルのデータがすべて削除される点は rails db:reset と同様です。
- その後、すべてのマイグレーションファイルが古い順に実行されます(db/migrate/hoge.rb など)。データベースが drop された後、マイグレーションが通常通り実行されます。
- シードファイルは自動で読み込まれないため、新しいダミーデータを挿入するには別途 rails db:seed を実行する必要があります。
最後に
ここまで読んでいただき、ありがとうございました!
rails:db:seedが通らない時があったので、備忘録として書いてみました。
いいねしてくれたら、スキップして喜びます