Size: a a a

Эликсир и Вунш

2018 April 25

AK

Alexander Kulikov in Эликсир и Вунш
проеврять каккойто параметр
case {user_db: db}  do
 "DB_1" -> RepoMaria1.all()
"DB_2" -> RepoMaria2.all()
"DB_3" -> RepoMaria3.all()
end
источник

AK

Alexander Kulikov in Эликсир и Вунш
вот так каждый раз мне не нравится :(
источник

AK

Alexander Kulikov in Эликсир и Вунш
а как по другому я не понимаю 😩(
источник

DS

Dmitry Shpagin in Эликсир и Вунш
apply(:RepoMaria, :all, [query]), где query - Data |> limit(5)
источник

DS

Dmitry Shpagin in Эликсир и Вунш
например так
источник

AK

Alexander Kulikov in Эликсир и Вунш
название атома будет соответствовать имеющимся подключениям к БД?
источник

АП

Артем Паньков in Эликсир и Вунш
"RepoMaria#{user}"
|> String.to_atom()
|> apply(:all, [query])
источник

АП

Артем Паньков in Эликсир и Вунш
но имхо сама постановка задачи кривая шо капец. ты что-то делаешь не так в самом начале
источник

AK

Alexander Kulikov in Эликсир и Вунш
Артем Паньков
"RepoMaria#{user}"
|> String.to_atom()
|> apply(:all, [query])
за это спасибо :)
источник

АП

Артем Паньков in Эликсир и Вунш
apply(:"RepoMaria#{user}", :all, [query])
источник

АП

Артем Паньков in Эликсир и Вунш
или так даже
источник

АП

Артем Паньков in Эликсир и Вунш
правда я не помню работает ли оно с интерполяцией
источник

AK

Alexander Kulikov in Эликсир и Вунш
есть варианты как сделать по другому?

Кабинет 1-н, но БД, откуда забирать данные может быть много
источник

AK

Alexander Kulikov in Эликсир и Вунш
и для пользователей Кабинета какая-то одна из
источник

DS

Dmitry Shpagin in Эликсир и Вунш
Если хочешь автоматизировать забор данных из нескольких бд, стоит либо внести справочник нужных для пользователя баз, либо что-то с архитектурой решить, ибо выглядит это очень странно
источник

AK

Alexander Kulikov in Эликсир и Вунш
я хотел пойти чере вот это

def query(sql, opts) do
   {:ok, conn} = Mariaex.start_link(opts)

   value = Ecto.Adapters.MySQL.Connection.execute(conn, sql, [], opts)
   GenServer.stop(conn)

   case value do
     {:ok, _} = result -> result
     {:error, %{mariadb: %{message: message}}} -> {:error, message}
     {:error, _} = error -> error
   end
 end

но мне тогда придется данные приводить к виду Ecto, чтоб GraphQL их проглатывал
источник

АП

Артем Паньков in Эликсир и Вунш
так делать ваще нельзя
источник

АП

Артем Паньков in Эликсир и Вунш
на каждый запрос ты будешь делать старт линк новый?
источник

АП

Артем Паньков in Эликсир и Вунш
дораха
источник

AK

Alexander Kulikov in Эликсир и Вунш
ну поэтому мне это и не понравилось
источник