如何知道我在Phoenix框架中的当前环境

lap*_*ira 4 elixir phoenix-framework

我正在追踪一本凤凰书:

小心.ecto.migrate任务将为您当前的环境迁移数据库.到目前为止,我们一直在运行开发环境.要更改环境,您需要设置MIX_ENV操作系统环境变量.

但是我不知道哪个是mi当前的环境,我打印回显MIX_ENV变量并且它是空的,我怎么能知道我所处的环境和/或从环境变化?

gui*_*man 9

如果MIX_ENV环境变量为空,则Mix.env默认为:dev:

$ iex -S mix
> Mix.env
# => :dev
Run Code Online (Sandbox Code Playgroud)

如果您设置MIX_ENV为另一个现有环境(测试或prod,那么Mix.env将返回它:

$ MIX_ENV=test iex -S mix
> Mix.env
# => :test
Run Code Online (Sandbox Code Playgroud)

没有必要定义另一个配置.

要从配置中获取某些内容,例如Application.get_env/2:

Application.get_env(:your_app_name, YourAppName)[:adapter]
# => Ecto.Adapters.Postgres
Run Code Online (Sandbox Code Playgroud)