gpt4 book ai didi

elixir - 如何在运行时配置Ecto?

转载 作者:行者123 更新时间:2023-12-02 20:51:50 25 4
gpt4 key购买 nike

遵循 setup instructions ,我的 config/config.exs 文件中有以下 Ecto 配置:

config :my_app, MyApp.Repo,
adapter: Ecto.Adapters.Postgres,
url: "postgresql://postgres@localhost/myrepo",
size: 20

如果我的理解是正确的,config.exs 在编译时进行评估。

有没有办法在运行时执行此配置步骤?

这适用于将以编译的二进制文件形式分发的应用程序(通过 exrm)。最终用户应该能够通过标志或环境变量自定义数据库 URL 和池大小,而不是通过编辑 sys.config

最佳答案

可以使用{:system, "KEY"}从系统加载,例如:

config :my_app Repo
url: {:system, "DATABASE_URL" },
size: {:system, "DATABASE_POOL_SIZE" }

相反

config :my_app, Repo,
url: "ecto://postgres:postgres@localhost/ecto_simple",
size: 20

在本例中,您将 Ecto 设置为使用系统属性。当然,用户必须配置它。

关于elixir - 如何在运行时配置Ecto?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37285049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com