Railsで環境変数を一時的に変える方法(development→stagingなど)

Ruby on Rails

Railsで一時的に環境変数を変えたい時がありました。

本当は良くはないとは思いますが、develop環境からstaging環境のDBやS3にアクセスしに行きたい場面がありましたのでメモ。

一時的に環境変数を変える(develop→staging環境へ)

私はこんなときにつかっています。

  • とても小規模な修正で、わざわざStaging環境を変更するのは面倒なので、development環境からちゃちゃっと確認したい時
  • Staging環境に入らずに、DB操作系のコマンドを打ちたいとき(db:dropして)

ただ、production環境とかを直接触るのは怖すぎるのでオススメはしませんし、コピペ間違いすると大変恐ろしいので、メモとしてproductionのものを残しておくのも推奨しません…

# stagingという環境がある場合。productionとかでもOKですが怖いのでオススメはしません
# DBを消したい時(注意!!)
RAILS_ENV=staging rake db:drop
# DB作成
RAILS_ENV=staging rake db:create
# DBマイグレーション
RAILS_ENV=staging rake db:migrate
# アセットを一度消して作り直したり
RAILS_ENV=staging rake assets:clean
RAILS_ENV=staging rake assets:precompile
# 起動する(develop環境で起動すると、接続DBやS3がstagingに変わる)
RAILS_ENV=staging rails s -b $IP -p $PORT

 

何度も言いますが、「RAILS_ENV=production」としてproduction環境をいじる場合は全て自己責任でお願いします…私は怖くて絶対やりません。

間違えてproduction環境で、rake db:dropなんてやった日には…😱😱😱

コメント