mirror of
https://gitlab.com/gitlab-org/gitlab-foss.git
synced 2025-07-25 16:03:48 +00:00
63 lines
4.1 KiB
Ruby
63 lines
4.1 KiB
Ruby
# frozen_string_literal: true
|
||
|
||
module Gitlab
|
||
module DatabaseWarnings
|
||
def self.check_postgres_version_and_print_warning
|
||
return if Gitlab::Runtime.rails_runner?
|
||
|
||
Gitlab::Database.database_base_models.each do |name, model|
|
||
database = Gitlab::Database::Reflection.new(model)
|
||
|
||
next if database.postgresql_minimum_supported_version?
|
||
|
||
Kernel.warn ERB.new(Rainbow.new.wrap(<<~WARNING).red).result
|
||
|
||
██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████
|
||
██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██
|
||
██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███
|
||
██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
|
||
███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████
|
||
|
||
******************************************************************************
|
||
You are using PostgreSQL #{database.version} for the #{name} database, but this version of GitLab requires PostgreSQL >= <%= Gitlab::Database::MINIMUM_POSTGRES_VERSION %>.
|
||
<% if Rails.env.development? || Rails.env.test? %>
|
||
If using gitlab-development-kit, please find the relevant steps here:
|
||
https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/postgresql.md#upgrade-postgresql
|
||
<% end %>
|
||
Please upgrade your environment to a supported PostgreSQL version. See
|
||
https://docs.gitlab.com/ee/install/requirements.html#database for details.
|
||
******************************************************************************
|
||
WARNING
|
||
rescue ActiveRecord::ActiveRecordError, PG::Error
|
||
# ignore - happens when Rake tasks yet have to create a database, e.g. for testing
|
||
end
|
||
end
|
||
|
||
def self.check_single_connection_and_print_warning
|
||
return if Gitlab::Runtime.rails_runner?
|
||
return unless Gitlab::Database.database_mode == Gitlab::Database::MODE_SINGLE_DATABASE
|
||
|
||
Kernel.warn ERB.new(Rainbow.new.wrap(<<~WARNING).red).result
|
||
|
||
██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████
|
||
██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██
|
||
██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███
|
||
██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
|
||
███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████
|
||
|
||
******************************************************************************
|
||
Your database has a single connection, and single connections were
|
||
deprecated in GitLab 15.9 https://docs.gitlab.com/ee/update/deprecations.html#single-database-connection-is-deprecated.
|
||
|
||
In GitLab 17.0 and later, you must have the two main: and ci: sections in your database.yml.
|
||
|
||
Please add a :ci section to your database, following these instructions:
|
||
https://docs.gitlab.com/ee/install/installation.html#configure-gitlab-db-settings.
|
||
******************************************************************************
|
||
WARNING
|
||
end
|
||
end
|
||
end
|
||
|
||
Gitlab::DatabaseWarnings.prepend_mod_with('Gitlab::DatabaseWarnings')
|