Config
Each application has its own environment.
config/config.exs is base of every project
config/dev.exs
import_config "dev.secret.exs"config/dev.secrets.exs
use Mix.Config
config :sonar,
google: "fasfdajkl"Usage
Application.fetch_env!(:sonar, :google)
Application.get_env(:sonar, :google, :default) #allows default and no error if key doesn't existBased on env
if Mix.env() == :dev do
#... can even be in router
endRuntime.ex vs Prod.ex
Simply:
releases.exs- runtime configuration forreleaseonly#{Mix.env()}.exs- i.e.dev.exs,prod.exs,test.exs- those are compiletime environment-specific configuration filesconfig.exs- compiletime generic configuration filereleases.exs- runtime generic configuration file
Last updated