diff --git a/app/models/service.rb b/app/models/service.rb index 764f417362fc320e674477e3e255da1d056a8d1e..0998a9a102a7ca7b21c05123d972ef8e80707d1f 100644 --- a/app/models/service.rb +++ b/app/models/service.rb @@ -8,6 +8,7 @@ class Service < ApplicationRecord include ProjectServicesLoggable include DataFields include FromUnion + include EachBatch SERVICE_NAMES = %w[ alerts asana assembla bamboo bugzilla buildkite campfire confluence custom_issue_tracker discord @@ -294,7 +295,7 @@ def category end def initialize_properties - self.properties = {} if properties.nil? + self.properties = {} if has_attribute?(:properties) && properties.nil? end def title diff --git a/app/services/admin/propagate_integration_service.rb b/app/services/admin/propagate_integration_service.rb index 96a6d861e47433e3bbe25c885ad9250bab9aded0..b5f034186dfd45ad822a5513c70396c2c74c6d39 100644 --- a/app/services/admin/propagate_integration_service.rb +++ b/app/services/admin/propagate_integration_service.rb @@ -20,7 +20,7 @@ def propagate # rubocop: disable Cop/InBatches def update_inherited_integrations - Service.by_type(integration.type).inherit_from_id(integration.id).in_batches(of: BATCH_SIZE) do |services| + Service.by_type(integration.type).inherit_from_id(integration.id).each_batch(of: BATCH_SIZE) do |services| min_id, max_id = services.pick("MIN(services.id), MAX(services.id)") PropagateIntegrationInheritWorker.perform_async(integration.id, min_id, max_id) end