diff options
Diffstat (limited to 'lib/gitlab/current_settings.rb')
-rw-r--r-- | lib/gitlab/current_settings.rb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/gitlab/current_settings.rb b/lib/gitlab/current_settings.rb index 477f9101e98..e6c80bed5a5 100644 --- a/lib/gitlab/current_settings.rb +++ b/lib/gitlab/current_settings.rb @@ -50,7 +50,15 @@ module Gitlab # and other callers from failing, use any loaded settings and return # defaults for missing columns. if ActiveRecord::Migrator.needs_migration? - return fake_application_settings(current_settings&.attributes) + db_attributes = current_settings&.attributes || {} + column_names = ::ApplicationSetting.column_names + final_attributes = ::ApplicationSetting + .defaults + .merge(db_attributes) + .stringify_keys + .slice(*column_names) + + return ::ApplicationSetting.new(final_attributes) end return current_settings if current_settings.present? |