Commit 1ae28e0e authored by Lin Jen-Shin's avatar Lin Jen-Shin Committed by Rémy Coutable

Return fake if and only if there's no database

Because `connect_to_db?` already detects if the table exists or not
parent 71672dfa
...@@ -7,10 +7,6 @@ module Gitlab ...@@ -7,10 +7,6 @@ module Gitlab
Gitlab::SafeRequestStore.fetch(:current_application_settings) { ensure_application_settings! } Gitlab::SafeRequestStore.fetch(:current_application_settings) { ensure_application_settings! }
end end
def fake_application_settings(attributes = {})
Gitlab::FakeApplicationSettings.new(::ApplicationSetting.defaults.merge(attributes || {}))
end
def clear_in_memory_application_settings! def clear_in_memory_application_settings!
@in_memory_application_settings = nil @in_memory_application_settings = nil
end end
...@@ -58,29 +54,22 @@ module Gitlab ...@@ -58,29 +54,22 @@ module Gitlab
.stringify_keys .stringify_keys
.slice(*column_names) .slice(*column_names)
return ::ApplicationSetting.new(final_attributes) ::ApplicationSetting.new(final_attributes)
elsif current_settings.present?
current_settings
else
::ApplicationSetting.create_from_defaults ||
in_memory_application_settings
end end
return current_settings if current_settings.present?
with_fallback_to_fake_application_settings do
::ApplicationSetting.create_from_defaults || in_memory_application_settings
end end
def fake_application_settings(attributes = {})
Gitlab::FakeApplicationSettings.new(::ApplicationSetting.defaults.merge(attributes || {}))
end end
def in_memory_application_settings def in_memory_application_settings
with_fallback_to_fake_application_settings do
@in_memory_application_settings ||= ::ApplicationSetting.build_from_defaults @in_memory_application_settings ||= ::ApplicationSetting.build_from_defaults
end end
end
def with_fallback_to_fake_application_settings(&block)
yield
rescue
# In case the application_settings table is not created yet, or if a new
# ApplicationSetting column is not yet migrated we fallback to a simple OpenStruct
fake_application_settings
end
def connect_to_db? def connect_to_db?
# When the DBMS is not available, an exception (e.g. PG::ConnectionBad) is raised # When the DBMS is not available, an exception (e.g. PG::ConnectionBad) is raised
......
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