2015-11-05 3 views
3

Я пытаюсь сделать простую проверку работоспособности моей базы данных postgres для эликсира.Проверка работоспособности Postgres в Elixir

В рельсах я хотел бы сделать что-то вроде: ActiveRecord::Base.verify_active_connections

Есть ли что-нибудь подобное на эликсира?

+0

Я думаю, что, возможно, вы недоразумение идиомы Elixir. Если вы не смогли добраться до БД по какой-то причине, вы хотите, чтобы код разбился - большой и немедленный, чтобы вы знали, что вам нужно проверить БД. Если вы не хотите, чтобы код выходил из строя, создайте супервизор и обработайте его сбой БД. В любом случае, это не путь Elixir (или действительно путь Erlang), чтобы запустить «простую проверку работоспособности» в базе данных. –

+0

Получил это, спасибо за подсказку – Gary

ответ

3

Это лучшее, что я нашел.

status = try do 
    Ecto.Adapters.SQL.query(ProjectName.Repo, "select 1", []) 
    :ok 
rescue 
    DBConnection.ConnectionError -> :error 
end 

Он просто посылает select 1 запрос на сервер SQL, и если мы получим выход мы возвращаемся :error еще вернемся :ok

Смежные вопросы