Check for database connection before loading current application settings

This commit is contained in:
DJ Mountney 2015-01-13 10:58:32 -08:00
parent ff7f4a134e
commit 02d8575a61

View file

@ -1,16 +1,12 @@
module Gitlab
module CurrentSettings
def current_application_settings
begin
if ActiveRecord::Base.connection.table_exists?('application_settings')
if ActiveRecord::Base.connected? && ActiveRecord::Base.connection.table_exists?('application_settings')
ApplicationSetting.current ||
ApplicationSetting.create_from_defaults
else
fake_application_settings
end
rescue ActiveRecord::NoDatabaseError, database_adapter.constantize::Error
fake_application_settings
end
end
def fake_application_settings
@ -22,16 +18,5 @@ module Gitlab
sign_in_text: Settings.extra['sign_in_text'],
)
end
# We need to check which database is setup
# but we cannot assume that the database exists already.
# Not checking this will break "rake gitlab:setup".
def database_adapter
if Rails.configuration.database_configuration[Rails.env]['adapter'] == 'mysql2'
"Mysql2"
else
"PG"
end
end
end
end