Welcome to mirror list, hosted at ThFree Co, Russian Federation.

schema_check.rake « migrate « tasks « lib - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 76f1f23c7bd4b18c3d428a6d41590532df0a7ecd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# frozen_string_literal: true

# Configures the database by running migrate, or by loading the schema and seeding if needed
task schema_version_check: :environment do
  next if ENV['SKIP_SCHEMA_VERSION_CHECK']

  schema_version = ActiveRecord::Migrator.current_version

  # Ensure migrations are being run from a supported schema version
  # A schema verison of 0 is a fresh db, and should be safe to run migrations
  # But a database with existing migrations less than our min version is not
  if schema_version > 0 && schema_version < Gitlab::Database::MIN_SCHEMA_VERSION
    raise "Your current database version is too old to be migrated. " \
          "You should upgrade to GitLab #{Gitlab::Database::MIN_SCHEMA_GITLAB_VERSION} before moving to this version. " \
          "Please see https://docs.gitlab.com/ee/policy/maintenance.html#upgrade-recommendations"
  end
end

# Ensure the check is a pre-requisite when running db:migrate
Rake::Task["db:migrate"].enhance [:schema_version_check]