diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-04-02 18:09:20 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-04-02 18:09:20 +0000 |
commit | fee10148072e2e96d14034f099985a441a844c6e (patch) | |
tree | 64ed9aa910ed10df0f06a0b010f221443baec8bc /db | |
parent | 02c151e384fe058fa070d50c6df94898385ff09c (diff) | |
download | gitlab-ce-fee10148072e2e96d14034f099985a441a844c6e.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'db')
-rw-r--r-- | db/migrate/20210323155010_populate_dismissal_information_for_vulnerabilities.rb | 37 | ||||
-rw-r--r-- | db/schema_migrations/20210323155010 | 1 |
2 files changed, 38 insertions, 0 deletions
diff --git a/db/migrate/20210323155010_populate_dismissal_information_for_vulnerabilities.rb b/db/migrate/20210323155010_populate_dismissal_information_for_vulnerabilities.rb new file mode 100644 index 00000000000..aee6d5484d5 --- /dev/null +++ b/db/migrate/20210323155010_populate_dismissal_information_for_vulnerabilities.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +class PopulateDismissalInformationForVulnerabilities < ActiveRecord::Migration[6.0] + DOWNTIME = false + BATCH_SIZE = 100 + UPDATE_QUERY = <<~SQL + UPDATE + vulnerabilities + SET + dismissed_at = COALESCE(dismissed_at, updated_at), + dismissed_by_id = COALESCE(dismissed_by_id, updated_by_id, last_edited_by_id, author_id) + WHERE + vulnerabilities.id IN (%{ids}) + SQL + + class Vulnerability < ActiveRecord::Base + include EachBatch + + self.table_name = 'vulnerabilities' + + enum state: { detected: 1, confirmed: 4, resolved: 3, dismissed: 2 } + + scope :broken, -> { dismissed.where('dismissed_at IS NULL OR dismissed_by_id IS NULL') } + end + + def up + Vulnerability.broken.each_batch(of: BATCH_SIZE) do |batch| + query = format(UPDATE_QUERY, ids: batch.select(:id).to_sql) + + connection.execute(query) + end + end + + def down + # no-op + end +end diff --git a/db/schema_migrations/20210323155010 b/db/schema_migrations/20210323155010 new file mode 100644 index 00000000000..23225216b5a --- /dev/null +++ b/db/schema_migrations/20210323155010 @@ -0,0 +1 @@ +1143241b1a8d1554c86a8d72d43276fa15c0193e510f47d5d7c64769860c60e3
\ No newline at end of file |