Techioz Blog

rake db:merge db:reset と db:schema:load の違い

概要

rake db:merge と rake db:reset の違いは私にとっては非常に明らかです。私が理解していないのは、rake db:schema:load が前の 2 つとどう違うのかということです。

私も同じ認識を持っていることを確認するために:

解決策

通常、新しい移行ファイルを介してスキーマに変更を加えた後に db:merge を使用します (これは、データベースにデータがすでに存在する場合にのみ意味があります)。 db:schema:load は、アプリの新しいインスタンスをセットアップするときに使用されます。

ソースを確認したところ、依存関係は次のようになりました。

詳細については、https://github.com/rails/rails/blob/v3.2.12/activerecord/lib/active_record/railties/databases.rake (Rails 3.2.x の場合) および https://github をご覧ください。 .com/rails/rails/blob/v4.0.5/activerecord/lib/active_record/railties/databases.rake (Rails 4.0.x の場合)