rails db:resetとrails db:migrate:resetの違い
どちらもDBをdropしてcreateするタスクだが、両者はかなり仕様が異なるので注意したい。
rails db:reset
schema.rb
からデータベースを作成する。rails db:seed
が最後に実行される。
つまり、マイグレーションファイルの中身は一切読み込まずにデータベースを削除してから作り直している。
rails db:migrate:reset
- DBをcreateした後に
rails db:migrate
が実行される。 rails db:seed
は実行されない。
どっちを使う?
大抵の場合は、rails db:migrate:reset
をした後にrails db:seed
を実行すればいい。