Class: Sequent::Core::TenantEventStore

Inherits:
EventStore
  • Object
show all
Defined in:
lib/sequent/core/tenant_event_store.rb

Instance Attribute Summary

Attributes inherited from EventStore

#configuration

Instance Method Summary collapse

Methods inherited from EventStore

#aggregates_that_need_snapshots, #commit_events, #find_event_stream, #initialize, #load_events, #replay_events, #stream_exists?

Constructor Details

This class inherits a constructor from Sequent::Core::EventStore

Instance Method Details

#replay_events_for(organization_id) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/sequent/core/tenant_event_store.rb', line 7

def replay_events_for(organization_id)
  replay_events do
    event_record_class.connection.select_all(%Q{
SELECT events.event_type, events.event_json
  FROM #{quote_table_name event_record_class.table_name} events
 WHERE events.aggregate_id IN (SELECT aggregates.aggregate_id
                           FROM #{quote_table_name event_record_class.table_name} aggregates
                          WHERE aggregates.organization_id = #{quote organization_id}
                            AND aggregates.sequence_number = 1
                            AND aggregates.event_type <> #{quote snapshot_event_class.name})
   AND events.event_type <> #{quote snapshot_event_class.name}
 ORDER BY events.id
})
  end
end