Railsには以下の3つの環境がある
- テスト環境(test)
- 開発環境(development)
- 本番環境(production)
RailsのRailsオブジェクトにはenv属性があり、開発環境において、Rails.env.developmentを実行すると、trueが返ってくる。
Rails consoleやRails serverはデフォルトでは開発環境だが、$ rails console test、$ rails server --environment productionなど環境をパラメータとして渡すと、その環境で実行することができる。
また、アプリケーションを本番環境で実行する場合は、rails db:migrateを本番環境で実行してデータベースを作成する必要があり、$ rails db:migrate RAILS_ENV=productionを実行する。
注意としては、上記のように、console、sever、migrateで環境の指定の仕方が違う。
Herokuは本番サイト用のプラットフォームのため、デフォルトで本番環境で実行される。