diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-07 00:08:25 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-07 00:08:25 +0000 |
commit | 3e31cffa203fd718381421e8035f7161a9f0338e (patch) | |
tree | 5d37928bebf08ddc931efe04a85d66217c8a0cea /db/post_migrate | |
parent | 1c25ac983cd1e4335faa1ec4922c314d6321e224 (diff) | |
download | gitlab-ce-3e31cffa203fd718381421e8035f7161a9f0338e.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'db/post_migrate')
-rw-r--r-- | db/post_migrate/20200227140242_update_occurrence_severity_column.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/db/post_migrate/20200227140242_update_occurrence_severity_column.rb b/db/post_migrate/20200227140242_update_occurrence_severity_column.rb new file mode 100644 index 00000000000..6d250532383 --- /dev/null +++ b/db/post_migrate/20200227140242_update_occurrence_severity_column.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +class UpdateOccurrenceSeverityColumn < ActiveRecord::Migration[6.0] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + BATCH_SIZE = 1_000 + INTERVAL = 5.minutes + + # 23_044 records to be updated on GitLab.com, + def up + # create temporary index for undefined vulnerabilities + add_concurrent_index(:vulnerability_occurrences, :id, where: 'severity = 0', name: 'undefined_vulnerabilities') + + return unless Gitlab.ee? + + migration = Gitlab::BackgroundMigration::RemoveUndefinedOccurrenceSeverityLevel + migration_name = migration.to_s.demodulize + relation = migration::Occurrence.undefined_severity + queue_background_migration_jobs_by_range_at_intervals(relation, + migration_name, + INTERVAL, + batch_size: BATCH_SIZE) + end + + def down + # no-op + # temporary index is to be dropped in a different migration in an upcoming release + remove_concurrent_index(:vulnerability_occurrences, :id, where: 'severity = 0', name: 'undefined_vulnerabilities') + # This migration can not be reversed because we can not know which records had undefined severity + end +end |