Module: Gitlab::ConfigChecker::ExternalDatabaseChecker

Extended by:
ExternalDatabaseChecker
Included in:
ExternalDatabaseChecker
Defined in:
lib/gitlab/config_checker/external_database_checker.rb

Constant Summary collapse

'<a href="https://docs.gitlab.com/ee/install/requirements.html#database">database requirements</a>'

Instance Method Summary collapse

Instance Method Details

#checkObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/gitlab/config_checker/external_database_checker.rb', line 11

def check
  unsupported_databases = Gitlab::Database
    .database_base_models
    .each_with_object({}) do |(database_name, base_model), databases|
      database = Gitlab::Database::Reflection.new(base_model)

      databases[database_name] = database unless database.postgresql_minimum_supported_version?
    end

  unsupported_databases.map do |database_name, database|
    {
      type: 'warning',
      message: _('Database \'%{database_name}\' is using PostgreSQL %{pg_version_current}, ' \
                 'but this version of GitLab requires PostgreSQL %{pg_version_minimum}. ' \
                 'Please upgrade your environment to a supported PostgreSQL version. ' \
                 'See %{pg_requirements_url} for details.') % \
        {
          database_name: database_name,
          pg_version_current: database.version,
          pg_version_minimum: Gitlab::Database::MINIMUM_POSTGRES_VERSION,
          pg_requirements_url: PG_REQUIREMENTS_LINK
        }
    }
  end
end