Class: Namespaces::SyncEvent
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Namespaces::SyncEvent
- Defined in:
- app/models/namespaces/sync_event.rb
Overview
This model serves to keep track of changes to the namespaces table in the main database, and allowing to safely replicate these changes to other databases.
Constant Summary
Constants inherited from ApplicationRecord
Constants included from HasCheckConstraints
HasCheckConstraints::NOT_NULL_CHECK_PATTERN
Constants included from ResetOnColumnErrors
ResetOnColumnErrors::MAX_RESET_PERIOD
Class Method Summary collapse
Methods inherited from ApplicationRecord
===, cached_column_list, #create_or_load_association, current_transaction, declarative_enum, default_select_columns, delete_all_returning, #deleted_from_database?, id_in, id_not_in, iid_in, nullable_column?, primary_key_in, #readable_by?, safe_ensure_unique, safe_find_or_create_by, safe_find_or_create_by!, #to_ability_name, underscore, where_exists, where_not_exists, with_fast_read_statement_timeout, without_order
Methods included from Organizations::Sharding
Methods included from ResetOnColumnErrors
#reset_on_union_error, #reset_on_unknown_attribute_error
Methods included from Gitlab::SensitiveSerializableHash
Class Method Details
.enqueue_worker ⇒ Object
18 19 20 |
# File 'app/models/namespaces/sync_event.rb', line 18 def self.enqueue_worker ::Namespaces::ProcessSyncEventsWorker.perform_async # rubocop:disable CodeReuse/Worker end |
.mark_records_processed(records) ⇒ Object
14 15 16 |
# File 'app/models/namespaces/sync_event.rb', line 14 def self.mark_records_processed(records) id_in(records).delete_all end |
.upper_bound_count ⇒ Object
22 23 24 |
# File 'app/models/namespaces/sync_event.rb', line 22 def self.upper_bound_count select('COALESCE(MAX(id) - MIN(id) + 1, 0) AS upper_bound_count').to_a.first.upper_bound_count end |