From e296a45d949bd5ed2fe8f3f6ff8fc68245280b8b Mon Sep 17 00:00:00 2001 From: Douglas Barbosa Alexandre Date: Thu, 21 Mar 2019 17:05:01 -0300 Subject: [PATCH] Add helper method to return a human-friendly name for database adapter Port of CE changes to EE. --- app/views/admin/dashboard/index.html.haml | 2 +- config/initializers/console_message.rb | 3 +-- lib/gitlab/database.rb | 4 ++++ lib/tasks/gitlab/info.rake | 8 ++------ spec/lib/gitlab/database_spec.rb | 14 ++++++++++++++ 5 files changed, 22 insertions(+), 9 deletions(-) diff --git a/app/views/admin/dashboard/index.html.haml b/app/views/admin/dashboard/index.html.haml index 2a1d2c2aeab184..581f6ae0714688 100644 --- a/app/views/admin/dashboard/index.html.haml +++ b/app/views/admin/dashboard/index.html.haml @@ -163,7 +163,7 @@ %span.float-right #{Rails::VERSION::STRING} %p - = Gitlab::Database.adapter_name + = Gitlab::Database.human_adapter_name %span.float-right = Gitlab::Database.version %p diff --git a/config/initializers/console_message.rb b/config/initializers/console_message.rb index 55d8e39dc9b702..3a23cc6d435535 100644 --- a/config/initializers/console_message.rb +++ b/config/initializers/console_message.rb @@ -5,14 +5,13 @@ puts "-------------------------------------------------------------------------------------" puts " GitLab:".ljust(justify) + "#{Gitlab::VERSION} (#{Gitlab.revision})" puts " GitLab Shell:".ljust(justify) + "#{Gitlab::VersionInfo.parse(Gitlab::Shell.new.version)}" - puts " #{Gitlab::Database.adapter_name}:".ljust(justify) + Gitlab::Database.version + puts " #{Gitlab::Database.human_adapter_name}:".ljust(justify) + Gitlab::Database.version # EE-specific start if Gitlab::Geo.enabled? puts " Geo enabled:".ljust(justify) + 'yes' puts " Geo server:".ljust(justify) + EE::GeoHelper.current_node_human_status end - # EE specific end puts "-------------------------------------------------------------------------------------" diff --git a/lib/gitlab/database.rb b/lib/gitlab/database.rb index da97f3a6ae7131..25f65614c262f7 100644 --- a/lib/gitlab/database.rb +++ b/lib/gitlab/database.rb @@ -27,6 +27,10 @@ def self.adapter_name config['adapter'] end + def self.human_adapter_name + postgresql? ? 'PostgreSQL' : 'MySQL' + end + def self.mysql? adapter_name.casecmp('mysql2').zero? end diff --git a/lib/tasks/gitlab/info.rake b/lib/tasks/gitlab/info.rake index c143ce5c45dec5..a3d6563c2ba163 100644 --- a/lib/tasks/gitlab/info.rake +++ b/lib/tasks/gitlab/info.rake @@ -37,10 +37,6 @@ namespace :gitlab do puts "Sidekiq Version:#{Sidekiq::VERSION}" puts "Go Version:\t#{go_version[1] || "unknown".color(:red)}" - # check database adapter - database_adapter = Gitlab::Database.adapter_name - database_version = Gitlab::Database.version - project = Group.new(path: "some-group").projects.build(path: "some-project") # construct clone URLs http_clone_url = project.http_url_to_repo @@ -60,8 +56,8 @@ namespace :gitlab do puts "Version:\t#{Gitlab::VERSION}" puts "Revision:\t#{Gitlab.revision}" puts "Directory:\t#{Rails.root}" - puts "DB Adapter:\t#{database_adapter}" - puts "DB Version:\t#{database_version}" + puts "DB Adapter:\t#{Gitlab::Database.human_adapter_name}" + puts "DB Version:\t#{Gitlab::Database.version}" puts "URL:\t\t#{Gitlab.config.gitlab.url}" puts "HTTP Clone URL:\t#{http_clone_url}" puts "SSH Clone URL:\t#{ssh_clone_url}" diff --git a/spec/lib/gitlab/database_spec.rb b/spec/lib/gitlab/database_spec.rb index ae50abd0e7a202..5f57cd6b825f94 100644 --- a/spec/lib/gitlab/database_spec.rb +++ b/spec/lib/gitlab/database_spec.rb @@ -17,6 +17,20 @@ end end + describe '.human_adapter_name' do + it 'returns PostgreSQL when using PostgreSQL' do + allow(described_class).to receive(:postgresql?).and_return(true) + + expect(described_class.human_adapter_name).to eq('PostgreSQL') + end + + it 'returns MySQL when using MySQL' do + allow(described_class).to receive(:postgresql?).and_return(false) + + expect(described_class.human_adapter_name).to eq('MySQL') + end + end + # These are just simple smoke tests to check if the methods work (regardless # of what they may return). describe '.mysql?' do -- GitLab