config.exs中的以下代码会将postgresql中的application_name设置为" myapp"。如何使用Elixir节点名称? (在这里使用Kernel.node会导致参数错误)
config :db, DB.Repo,
adapter: Ecto.Adapters.Postgres,
database: "ahv2",
username: "troy",
password: "pass",
hostname: "localhost",
parameters: [
{:application_name, "myapp"}
]
答案 0 :(得分:2)
您可以在v2.1.0中使用添加到Ecto的init/2
回调。以下代码应该可以工作(但我还没有测试过)。您需要在Repo
use Ecto.Repo, ...
模块中
def init(_, config) do
{:ok, put_in(config, [:parameters, :application_name], Node.self |> to_string)}
end