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.
This commit is contained in:
Rémy Coutable 2016-01-28 12:23:37 +01:00
parent 869b4d7c6a
commit 55ab92c00b
1 changed files with 4 additions and 1 deletions

View File

@ -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