У меня есть приложение, которое предназначено для нескольких баз данных, это как приложение, которое наблюдает за приложениями, которые делают отчеты, оповещают о оповещениях, запускают задачи и вещи, таким образом, что невозможно контролировать статически (в файле конфигурации), поэтому я подумал, что это можно сделать, начиная супервизор, который контролирует несколько Repo
s, просто меняя его настройки в opts
(я думал в пуле репозиториев, что-то вроде этого, звучит сумасшедшим, я знаю), но это невозможно, так как Ecto.Repo
имеет макрос, который связывает соединение с модулем Repo
, так что есть способ переписать Ecto.Repo
таким образом, чтобы я мог удовлетворить свои потребности? Я посмотрел на источники ecto, но я не нашел решения в одиночку.Несколько баз данных в Ecto
Я также посмотрел на this post, но есть вероятность того, что приложение будет предназначаться несколько экземпляров с разными пользователями, различными учетными данными и т.д.
Я достиг некоторых решений с использованием Code.eval
для создания Repos на в- но я не знаю, как это "хорошо", и если это поощряется.