Class: Gitlab::BackgroundMigration::FixBadShardingKeyIdOnProjectCiRunners
- Inherits:
 - 
      BatchedMigrationJob
      
        
- Object
 - BatchedMigrationJob
 - Gitlab::BackgroundMigration::FixBadShardingKeyIdOnProjectCiRunners
 
 
- Includes:
 - Utils::StrongMemoize
 
- Defined in:
 - lib/gitlab/background_migration/fix_bad_sharding_key_id_on_project_ci_runners.rb
 
Defined Under Namespace
Classes: CiRunner, CiRunnerProject
Constant Summary
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
#perform ⇒ Object
      21 22 23 24 25 26 27 28 29  | 
    
      # File 'lib/gitlab/background_migration/fix_bad_sharding_key_id_on_project_ci_runners.rb', line 21 def perform each_sub_batch do |sub_batch| sub_batch .where.not(sharding_key_id: nil) .where('NOT EXISTS (?)', runners_with_valid_sharding_keys.select(1)) .where('EXISTS (?)', project_runner_owner.select(1)) .update_all("sharding_key_id = (#{project_runner_owner.select(:project_id).to_sql})") end end  |