Historic event replays
The example we have looked at thus far allows us to listen to events as they occur. Consider a scenario where we need to build a new query from historic events to satisfy an unanticipated new requirement. This new requirement may necessitate the need to create a new query model or, in a more extreme case, a completely new bounded context. Another scenario might be when we may need to correct a bug in the way we had built an existing query model and now need to recreate it from scratch. Given that we have a record of all events that have transpired in the event store, we can use replay events to enable us to construct both new and/or correct existing query models with relative ease.
Important Note
We have used the term event replay in the context of reconstituting the state of event-sourced aggregate instances (discussed in the Event-sourced aggregates section in Chapter 5, Implementing Domain Logic). The event replay mentioned here, although similar in...