diff options
Diffstat (limited to 'app/workers/database/ci_project_mirrors_consistency_check_worker.rb')
-rw-r--r-- | app/workers/database/ci_project_mirrors_consistency_check_worker.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/app/workers/database/ci_project_mirrors_consistency_check_worker.rb b/app/workers/database/ci_project_mirrors_consistency_check_worker.rb index e9413256617..84052ab238b 100644 --- a/app/workers/database/ci_project_mirrors_consistency_check_worker.rb +++ b/app/workers/database/ci_project_mirrors_consistency_check_worker.rb @@ -13,7 +13,7 @@ module Database version 1 def perform - return if Feature.disabled?(:ci_project_mirrors_consistency_check, default_enabled: :yaml) + return if Feature.disabled?(:ci_project_mirrors_consistency_check) results = ConsistencyCheckService.new( source_model: Project, @@ -22,6 +22,16 @@ module Database target_columns: %w[project_id namespace_id] ).execute + if results[:mismatches_details].any? + ConsistencyFixService.new( + source_model: Project, + target_model: Ci::ProjectMirror, + sync_event_class: Projects::SyncEvent, + source_sort_key: :id, + target_sort_key: :project_id + ).execute(ids: results[:mismatches_details].map { |h| h[:id] }) + end + log_extra_metadata_on_done(:results, results) end end |