Class: Gitlab::BackgroundMigration::DeleteOrphanedOperationalVulnerabilities

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

Overview

Background migration for deleting orphaned operational vulnerabilities (without findings)

Constant Summary collapse

REPORT_TYPES =
{
  cluster_image_scanning: 7,
  custom: 99
}.freeze
NOT_EXISTS_SQL =
<<-SQL
  NOT EXISTS (
    SELECT FROM vulnerability_occurrences
    WHERE "vulnerability_occurrences"."vulnerability_id" = "vulnerabilities"."id"
  )
SQL

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, 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



27
28
29
30
31
32
33
# File 'lib/gitlab/background_migration/delete_orphaned_operational_vulnerabilities.rb', line 27

def perform
  each_sub_batch do |sub_batch|
    sub_batch
      .where(NOT_EXISTS_SQL)
      .delete_all
  end
end