データベースのユーザー名とパスワードなどの情報をハードコーディングしたくないときにconfig/config.exsファイルに保存するすることができる。ソースコードのなかで、Mix.Config.read!("config/config.exs")
でファイルの中身を読み込む。
新しいプロジェクトpro
を作成する
$ mix new pro
pro/config/config.exs
ファイルの中に下の内容で保存する
use Mix.Config
config :test_db1,
username: "root",
password: "123"
config :test_db2,
username: "toor",
password: "321"
lib/pro.ex
ファイルの中に下の内容で保存する
defmodule Pro do
def main() do
# config.exsファイルの中の設定を取得する
conf = Mix.Config.read!("config/config.exs")
IO.inspect conf[:test_db1][:username]
IO.inspect conf[:test_db1][:password]
IO.inspect conf[:test_db2][:username]
IO.inspect conf[:test_db2][:password]
end
end
実行する
$ mix run -e "Pro.main()"
"root"
"123"
"toor"
"321"
これで設定ファイルconfig.exsの設定は取得することができた
下のリンクを参照して、Mix.Config.read!を使うことが分かる