gpt4 book ai didi

elixir - Ecto 中的多个数据库

转载 作者:行者123 更新时间:2023-12-04 08:51:20 27 4
gpt4 key购买 nike

我有一个针对多个数据库的应用程序,它就像一个监视应用程序的应用程序,它以一种不可能静态控制的方式(在配置文件中)生成报告、调解通知、运行任务和东西,所以我认为它可以启动一个监督多个 Repo 的主管来完成s 只是在 opts 中更改其设置(我在一个 repos 池中思考,像这样,听起来很疯狂,我知道),但这是不可能的,因为 Ecto.Repo有一个宏使连接绑定(bind)到 Repo的模块,所以,有一种方法可以重写 Ecto.Repo以某种方式可以满足我的需求?我查看了 ecto 的来源,但我没有发现单独挖掘的解决方案。

我还看了this post ,但应用程序可能会针对多个实例,具有不同的用户、不同的凭据等。

我已经使用 Code.eval 找到了一些解决方案即时创建 Repos,但我不知道它有多“好”,以及是否受到鼓励。

最佳答案

如果您知道需要访问的所有存储库,我建议将应用程序拆分为更多的伞式应用程序。每个伞形应用程序都可以连接到不同的 ecto 存储库。

作为一种好的做法,我总是提取 Ecto 和数据库相关的代码,以分离由域分隔的伞式应用程序。您可以在此演示应用程序中看到一个示例:https://github.com/silviurosu/elixir-umbrella-ddd .

关于elixir - Ecto 中的多个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39070549/

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