summaryrefslogtreecommitdiff
path: root/db/post_migrate/20230428065426_prepare_index_to_system_note_metadata_on_id_for_relate_and_unrelate_actions.rb
blob: bff52308271c588f351bb9392ffa8f49221306d0 (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

class PrepareIndexToSystemNoteMetadataOnIdForRelateAndUnrelateActions < Gitlab::Database::Migration[2.1]
  INDEX_NAME = 'tmp_index_for_backfilling_resource_link_events'
  CLAUSE = "action='relate_to_parent' OR action='unrelate_from_parent'"

  disable_ddl_transaction!

  def up
    return if index_exists?(:system_note_metadata, :id, name: INDEX_NAME)

    # Temporary index to be removed https://gitlab.com/gitlab-org/gitlab/-/issues/408797
    # Sync index to be created in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/119019
    prepare_async_index :system_note_metadata, :id, where: CLAUSE, name: INDEX_NAME
  end

  def down
    unprepare_async_index_by_name :system_note_metadata, INDEX_NAME
  end
end