From a86f48c79b3d4b03279be0132e2a4eeadd5e22dc Mon Sep 17 00:00:00 2001 From: Douglas Barbosa Alexandre Date: Thu, 21 Mar 2019 17:05:01 -0300 Subject: Add helper method to return a human-friendly name for database adapter --- app/views/admin/dashboard/index.html.haml | 2 +- config/initializers/console_message.rb | 2 +- lib/gitlab/database.rb | 4 ++++ lib/tasks/gitlab/info.rake | 6 ++---- spec/lib/gitlab/database_spec.rb | 14 ++++++++++++++ 5 files changed, 22 insertions(+), 6 deletions(-) diff --git a/app/views/admin/dashboard/index.html.haml b/app/views/admin/dashboard/index.html.haml index 2a1d2c2aeab..581f6ae0714 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 f7c26732e6d..05eb395028d 100644 --- a/config/initializers/console_message.rb +++ b/config/initializers/console_message.rb @@ -5,6 +5,6 @@ if defined?(Rails::Console) 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 puts "-------------------------------------------------------------------------------------" end diff --git a/lib/gitlab/database.rb b/lib/gitlab/database.rb index e2637ad602a..8da98cc3909 100644 --- a/lib/gitlab/database.rb +++ b/lib/gitlab/database.rb @@ -27,6 +27,10 @@ module Gitlab 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 b8798fb3cfd..7872e5b08c0 100644 --- a/lib/tasks/gitlab/info.rake +++ b/lib/tasks/gitlab/info.rake @@ -34,9 +34,6 @@ namespace :gitlab do puts "Sidekiq Version:#{Sidekiq::VERSION}" puts "Go Version:\t#{go_version[1] || "unknown".color(:red)}" - # check database adapter - database_adapter = ActiveRecord::Base.connection.adapter_name.downcase - project = Group.new(path: "some-group").projects.build(path: "some-project") # construct clone URLs http_clone_url = project.http_url_to_repo @@ -49,7 +46,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 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 ae50abd0e7a..5f57cd6b825 100644 --- a/spec/lib/gitlab/database_spec.rb +++ b/spec/lib/gitlab/database_spec.rb @@ -17,6 +17,20 @@ describe Gitlab::Database do 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 -- cgit v1.2.1