Commit 465f4167 authored by Marin Jankovski's avatar Marin Jankovski
Browse files

Merge branch 'database-fix-setting' into 'master'

Check for database connection when running current_application_settings

The PG connection errors don't always end up being caught as ActiveRecord::NoDatabaseError. So when doing a precompile without the database (like when using the omnibus), an exception was being thrown.

See merge request !292
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
end
rescue ActiveRecord::NoDatabaseError, database_adapter.constantize::Error
fake_application_settings fake_application_settings
end end
end end
...@@ -22,16 +18,5 @@ def fake_application_settings ...@@ -22,16 +18,5 @@ def fake_application_settings
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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment