2017-08-14 9 views
2

で私の現在の環境があるかを知る方法:私が言う鳳凰帳、次の午前フェニックスの枠組み

は注意してください。 ecto.migrateタスクは、現在の環境 のデータベースを移行します。今のところ、私たちは開発環境を実行しています。 環境を変更するには、MIX_ENVオペレーティングシステム 環境変数を設定します。

しかし、現在の環境はどれか分かりません。エコーMIX_ENV変数が表示され、空です。どのように環境を知っていますか?

+0

'MIX_ENV'環境変数は'がデフォルトになります。 –

答えて

4

MIX_ENV環境変数は:devからMix.envデフォルトは空の場合:あなたは別の既存の環境(テストまたはprodにMIX_ENVを設定した場合、Mix.envはそれを返します

$ iex -S mix 
> Mix.env 
# => :dev 

$ MIX_ENV=test iex -S mix 
> Mix.env 
# => :test 

別の設定を定義する必要はありません。

Application.get_env/2のためのあなたのconfig使用から何かを取得するには:dev`:

Application.get_env(:your_app_name, YourAppName)[:adapter] 
# => Ecto.Adapters.Postgres 
0

次のようにconfig /(dev | prod).exsにsitetypeを定義し、でサイトタイプを取得します。このようにして、prod envが蒸留所などで配布されていても型を取得できます。

config :app_name, :site_type, :dev または config :app_name, :site_type, :prod

関連する問題