読者です 読者をやめる 読者になる 読者になる

男女比はカレーと福神漬けと同じくらい

意識高くなりたい系学生の技術寄りな備忘録

rake db:migrateとrake db:schema:loadの違い

Rails

rake db:migraterake db:schema:load はどちらもテーブルを作成、変更、削除するときに使うコマンドだけど違いがよく分かっていなかったのでメモメモ。

rake db:migrate

  1. migrateファイル群を元にschema.rbを作成
  2. schema.rbを元にSQLクエリを発行する

rake db:schema:load

  1. schema.rbを元にSQLクエリを発行する

 

 

要するにrake db:schema:load はmigrateファイルの変更は考慮しないよってことか。

ローカルでは rake db:migrete , CIツール上では rake db:schema:load と使い分けるのが一般的で、そうすることによってmigrateし忘れてpushしてもCIツール上のschema.rbのバージョンが同じになるようにしてるみたい。 賢いなあ。