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

20230713234121_create_index_vulnerability_findings_on_uuid_sync.rb « post_migrate « db - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: abbf2390b0d6e5f0c24bb6f8a422eb95d5f95e20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# frozen_string_literal: true

class CreateIndexVulnerabilityFindingsOnUuidSync < Gitlab::Database::Migration[2.1]
  INDEX_NAME = 'index_vuln_findings_on_uuid_including_vuln_id'

  disable_ddl_transaction!

  def up
    return if index_exists_by_name?(:vulnerability_occurrences, INDEX_NAME)

    disable_statement_timeout do
      execute <<~SQL
        CREATE UNIQUE INDEX CONCURRENTLY #{INDEX_NAME} ON vulnerability_occurrences (uuid) include (vulnerability_id);
      SQL
    end
  end

  def down
    remove_concurrent_index_by_name(:vulnerability_occurrences, INDEX_NAME)
  end
end