2016-08-22 17 views
7

我有一個針對多個數據庫的應用程序,它就像一個應用程序,它以一種不可能被靜態控制的方式監視報告,調解通知,運行任務和內容的應用程序(在配置文件中),所以我認爲可以開始一個主管,監督多個Repo只是改變它的設置opts(我想在一個回購池,這樣的事情,聽起來很瘋狂,我知道),但這是不可能的,因爲Ecto.Repo有一個宏使得連接綁定到Repo的模塊,所以,有一種方法可以用我能達到我的需求的方式重寫Ecto.Repo?我看着ecto的來源,但我發現沒有解決方案單獨挖掘。Ecto中的多個數據庫

我也看了this post,但有一種可能性,即應用程序將針對多個實例,具有不同的用戶,不同的憑據等

我已經達到使用Code.eval用於創建回購一些解決方案上the-飛,但我不知道它是多麼「好」,如果它被鼓勵。

回答

0

多租戶支持,在你知道你需要訪問我建議更多的傘應用程序將所述應用的所有存儲庫案例庫。每個傘應用可以連接到不同的ecto存儲庫。

作爲一個很好的做法,我總是提取Ecto和數據庫相關的代碼,以區分由域隔開的傘應用程序。您可以在此演示應用程序中看到一個示例:https://github.com/silviurosu/elixir-umbrella-ddd