當前的環境下我下面鳳書裏面說:如何知道哪些是我在鳳凰框架
要小心。 ecto.migrate任務將遷移當前環境的數據庫。到目前爲止,我們一直在運行開發環境。 要更改環境,請設置MIX_ENV操作系統 環境變量。
但是我不知道哪個是mi當前環境,我打印回顯MIX_ENV變量,它是空的,我怎麼知道我在哪個環境和/或從環境變化?
當前的環境下我下面鳳書裏面說:如何知道哪些是我在鳳凰框架
要小心。 ecto.migrate任務將遷移當前環境的數據庫。到目前爲止,我們一直在運行開發環境。 要更改環境,請設置MIX_ENV操作系統 環境變量。
但是我不知道哪個是mi當前環境,我打印回顯MIX_ENV變量,它是空的,我怎麼知道我在哪個環境和/或從環境變化?
如果MIX_ENV
環境變量是空Mix.env
默認爲:dev
:
$ iex -S mix
> Mix.env
# => :dev
如果設置MIX_ENV
到另一個現有的環境(測試或督促,然後Mix.env
將返回它:
$ MIX_ENV=test iex -S mix
> Mix.env
# => :test
沒有必要定義另一個配置。
爲了讓您的配置使用的東西,例如Application.get_env/2
:
Application.get_env(:your_app_name, YourAppName)[:adapter]
# => Ecto.Adapters.Postgres
我在config /(dev | prod).exs中定義了一個sitetype,如下所示,並使用Application.get_env(:app_name, :site_type)
獲取站點類型。通過這種方式,即使prod env分發給酒廠也可以獲得該類型。
config :app_name, :site_type, :dev
或 config :app_name, :site_type, :prod
的'MIX_ENV'環境變量將默認爲':dev'。 –