2017-08-28 4 views
0

config.exsの下のコードは、postgresqlのapplication_nameを "myapp"に設定します。代わりにElixirノード名を使用するにはどうすればいいですか?Elixirのpostgres接続にapplication_nameを設定する方法

config :db, DB.Repo, 
    adapter: Ecto.Adapters.Postgres, 
    database: "ahv2", 
    username: "troy", 
    password: "pass", 
    hostname: "localhost", 
    parameters: [ 
    {:application_name, "myapp"} 
    ] 

答えて

2

あなたがバージョン2.1.0にエクトに追加init/2コールバックを使用することができます(ここではKernel.nodeを使用すると、引数エラーが発生します)。次のコードは動作するはずです(しかし、私はそれをテストしていません)。あなたはuse Ecto.Repo, ...

def init(_, config) do 
    {:ok, put_in(config, [:parameters, :application_name], Node.self |> to_string)} 
end 
+0

がNode.selfは、コールバックは、あなたが取得している正確なエラーメッセージは何コンフィグ – Krut

+0

を使用して同じエラーが発生int型呼び出した後、あなたのRepoモジュールにこのことを追加する必要がありますか? – Dogbert

+0

'(ArgumentError)argument error:erlang.iolist_size'、私のElixir fooが良くなり、Node.selfが原子を返すことを認識しました。私は編集し、あなたの答えを受け入れました – Krut

関連する問題