summaryrefslogtreecommitdiff
path: root/db/post_migrate/20220510192117_index_expirable_unknown_artifacts_for_removal.rb
blob: 3e25ca6c7b95403b1ea2173b2855c7f360658dc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# frozen_string_literal: true

class IndexExpirableUnknownArtifactsForRemoval < Gitlab::Database::Migration[2.0]
  disable_ddl_transaction!

  TABLE_NAME = 'ci_job_artifacts'
  INDEX_NAME = 'tmp_index_ci_job_artifacts_on_expire_at_where_locked_unknown'
  CONDITIONS = 'locked = 2 AND expire_at IS NOT NULL'

  def up
    prepare_async_index TABLE_NAME, [:expire_at, :job_id], name: INDEX_NAME, where: CONDITIONS
  end

  def down
    unprepare_async_index_by_name TABLE_NAME, INDEX_NAME
  end
end