Just do IT

思うは招く

rake db:migrate と rails db:migrate、どっちが正しいのか?

結論

  • Rails5からは rakeコマンドとrailsコマンドが統一された
  • rails db:migrateを使えばいい
  • rake db:migrateでも実行できる

問題

Railsを勉強していると、参考書の中にはマイグレーションを実行する際、2通りの方法があることに気づいた。

# rakeを使っている
rake db:migrate

# railsを使っている
rails db:migrate

「いや、どっちを使えばいいの?「どっちが正しいの?」と疑問に思ったので調べた。

解決

Ruby on Rails 5.0 リリースノート - Railsガイドによると、次のように記載されている。

Rakeコマンドをrailsコマンドに統一 rakeタスクをbin/railsで置き換え。 (Pull Request, Pull Request)

Rails4以前にマイグレーションを実行する際には、rakeコマンドを使っていた。 しかし、Rails5からrailsコマンドでも可能になった。

とはいえ、rakeコマンドが使えなくなったわけではないので、慣れているほうを使えばいいと。

参照