目的
- 表題のコマンドをあまり理解せず実行していたのでまとめる。
- コミュニティやtwitterで教えていただいた内容を忘れないようにまとめる。
heroku run rails db:migrate:statusとは
- herokuサーバでのマイグレーションステータスを出力するコマンドである。
- ちなみにherokuサーバへのマイグレーションを行うコマンドは
$ heroku run rails db:migrate
である。
結論
コマンドを分解してみる
-
heroku run
の意味を下記に記す。- run a one-off process inside a Heroku dyno→「
Heroku dyno内で1回限りのプロセスを実行する。」(コマンド$ heroku --help
で調べた。) - dynoはアプリを実行するためのコンテナのことらしい、「そのコンテナ内で後述するプロセスを実行するよ〜」って感じ。
- run a one-off process inside a Heroku dyno→「
-
rails db:migrate:status
の意味を下記に記す。- 「マイグレーションのステータス(upまたはdown)を表示する。」(こちらのリンク先に記載があったhttps://railsguides.jp/active_record_migrations.html)
ちなみに
- Rails5以降は
rails
コマンドを実行すればrake
コマンドを探して実行してくれるらしい。 - なので下記コマンドは同じ挙動をする。
$ heroku run rails db:migrate:status
$ heroku run rake db:migrate:status
だけど
-
rails
コマンドを実行するとrake
までコマンドを探しに行って実行してくれる。 -
rake
コマンドを実行してもrails
コマンドを探しに行ってくれない。
参考にしたリンクを載せる
-
rails db:migrate:statusコマンドの説明
-
Rakeコマンドの実行
-
dynoの説明
謝辞
- 本投稿内容はTwitter、コミュニティのslack、キャリアアドバイザーさんからいただいた知識です。
- 毎度知恵をおお貸しいただき本当にありがとうございます。