26 lines
834 B
Ruby
26 lines
834 B
Ruby
class EnqueueDeleteDiffFilesWorkers < ActiveRecord::Migration
|
|
include Gitlab::Database::MigrationHelpers
|
|
|
|
DOWNTIME = false
|
|
SCHEDULER = 'ScheduleDiffFilesDeletion'.freeze
|
|
TMP_INDEX = 'tmp_partial_diff_id_with_files_index'.freeze
|
|
|
|
disable_ddl_transaction!
|
|
|
|
def up
|
|
unless index_exists_by_name?(:merge_request_diffs, TMP_INDEX)
|
|
add_concurrent_index(:merge_request_diffs, :id, where: "(state NOT IN ('without_files', 'empty'))", name: TMP_INDEX)
|
|
end
|
|
|
|
BackgroundMigrationWorker.perform_async(SCHEDULER)
|
|
|
|
# We don't remove the index since it's going to be used on DeleteDiffFiles
|
|
# worker. We should remove it in an upcoming release.
|
|
end
|
|
|
|
def down
|
|
if index_exists_by_name?(:merge_request_diffs, TMP_INDEX)
|
|
remove_concurrent_index_by_name(:merge_request_diffs, TMP_INDEX)
|
|
end
|
|
end
|
|
end
|