Class: Gitlab::BackgroundMigration::DeleteOrphansApprovalMergeRequestRules2

Inherits:
BatchedMigrationJob
  • Object
show all
Defined in:
lib/gitlab/background_migration/delete_orphans_approval_merge_request_rules2.rb

Overview

Deletes orphans records whenever report_type equals to scan_finding (4) or license_scanning (2)

Defined Under Namespace

Classes: ApprovalMergeRequestRuleSource

Constant Summary collapse

LICENSE_SCANNING_REPORT_TYPE =
2
SCAN_FINDING_REPORT_TYPE =
4

Constants inherited from BatchedMigrationJob

BatchedMigrationJob::DEFAULT_FEATURE_CATEGORY, BatchedMigrationJob::MINIMUM_PAUSE_MS

Constants included from Database::DynamicModelHelpers

Database::DynamicModelHelpers::BATCH_SIZE

Instance Method Summary collapse

Methods inherited from BatchedMigrationJob

#batch_metrics, cursor, cursor?, cursor_columns, feature_category, #filter_batch, generic_instance, #initialize, job_arguments, job_arguments_count, operation_name, scope_to

Methods included from Database::DynamicModelHelpers

define_batchable_model, #each_batch, #each_batch_range

Constructor Details

This class inherits a constructor from Gitlab::BackgroundMigration::BatchedMigrationJob

Instance Method Details

#performObject



22
23
24
25
26
27
28
29
30
# File 'lib/gitlab/background_migration/delete_orphans_approval_merge_request_rules2.rb', line 22

def perform
  each_sub_batch do |sub_batch|
    ApprovalMergeRequestRuleSource
      .where(approval_merge_request_rule_id: sub_batch.distinct.select(:id))
      .delete_all

    sub_batch.delete_all
  end
end