From 55ab92c00bb79a951dea477d59e440c80dc96f91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= Date: Thu, 28 Jan 2016 12:23:37 +0100 Subject: [PATCH] Use ActiveRecord::Base.connection.active? and rescue any exception in connect_to_db? This ensures that rake tasks that don't need a DB connection can be run without one. --- lib/gitlab/current_settings.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/gitlab/current_settings.rb b/lib/gitlab/current_settings.rb index e66e7768f2b..a6b2f14521c 100644 --- a/lib/gitlab/current_settings.rb +++ b/lib/gitlab/current_settings.rb @@ -41,8 +41,11 @@ module Gitlab private def connect_to_db? + # When the DBMS is not available, an exception (e.g. PG::ConnectionBad) is raised + active_db_connection = ActiveRecord::Base.connection.active? rescue false + ENV['USE_DB'] != 'false' && - ActiveRecord::Base.connection_pool.active_connection? && + active_db_connection && ActiveRecord::Base.connection.table_exists?('application_settings') rescue ActiveRecord::NoDatabaseError