Class: Gitlab::BackgroundMigration::DeleteOrphansApprovalProjectRules2

Inherits:
BatchedMigrationJob show all
Defined in:
lib/gitlab/background_migration/delete_orphans_approval_project_rules2.rb

Overview

Deletes orphans records whenever report_type equals to scan_finding (4) or license_scanning (2) rubocop: disable CodeReuse/ActiveRecord

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

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



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

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

    sub_batch.delete_all
  end
end