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
1 changed files with 4 additions and 19 deletions

View File

@ -1,16 +1,12 @@
module Gitlab module Gitlab
module CurrentSettings module CurrentSettings
def current_application_settings def current_application_settings
begin if ActiveRecord::Base.connected? && ActiveRecord::Base.connection.table_exists?('application_settings')
if ActiveRecord::Base.connection.table_exists?('application_settings')
ApplicationSetting.current || ApplicationSetting.current ||
ApplicationSetting.create_from_defaults ApplicationSetting.create_from_defaults
else else
fake_application_settings fake_application_settings
end end
rescue ActiveRecord::NoDatabaseError, database_adapter.constantize::Error
fake_application_settings
end
end end
def fake_application_settings def fake_application_settings
@ -22,16 +18,5 @@ module Gitlab
sign_in_text: Settings.extra['sign_in_text'], sign_in_text: Settings.extra['sign_in_text'],
) )
end 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
end end