ダメでしょ!

プログラミングとか怒られた話とか…

Rails の 実行環境を指定するオプション RAILS_ENV をサーバに覚えさせる方法

RAILS_ENV は Rails の実行環境を指定するための環境変数です。
指定しないで実行するとデフォルトとして development で実行されます。

久々に改修依頼が来たWebサイトでは、production 環境と staging 環境を用意していました。
staging 環境でテストを行っている際、RAILS_ENV=staging の指定を忘れて migration させようと試み、development 環境と認識した migration が行われ、エラーとなってしまいました。
よくよく考えると環境変数として RAILS_ENV をサーバに指定しておくべきだな、と思い、追加することにしました。
追加は以下のコマンドで実施できます。

export RAILS_ENV=staging

でも、これだとサーバを再起動したら忘れちゃうので、これを .bash_profile に書き込むことで永続化しました。

# ~/.bash_profile の最後に
export RAILS_ENV=staging

で、保存したら

source ~/.bash_profile

で反映させます。

なんで新規開発の際にやっておかなかったのか。。。


staging 環境を追加する方法はこちらに書いてます。

useless.hatenablog.com