При использовании проекта Erlang вы не должны использовать смешанные конфигурации, а вместо этого использовать конфигурации erlang. В вашем конкретном примере файл boss.config
. В boss.config
у вас есть список кортежей:
[{app, Options}, {second_app, Options}].
В оболочке Erlang вы можете проверить конфигурацию данного приложения с помощью:
application:get_all_env(app).
В файлах конфигурации микса у вас есть что-то вроде:
config :my_app, MyApp.Repo,
adapter: Ecto.Adapters.Postgres
и вы можете проверить конфигурацию с помощью:
Application.get_all_env(:my_app)
Все, что вам нужно сделать, это перевести конфиги из Elixir в Erlang и поместить их внутрь boss.config
. Например, приведенный выше адаптер Ecto станет следующим:
[...other apps...,
{my_app, [{'Elixir.MyApp.Repo',
[
{adapter, 'Elixir.Ecto.Adapters.Postgres'}
]}]},
...other apps...
].
Просто помните, что foo: "bar"
— это список ключевых слов [{foo, <<"bar">>}]
, а имена модулей в Elixir Foo
— это атомы в Erlang 'Elixir.Foo'
.
Второй вариант — использовать зонтичный проект Elixir, в котором участвуют как Chicago Boss, так и Phoenix. В этом случае вам нужно будет перевести конфиги боссов на Эликсир.
person
tkowal
schedule
29.04.2016