Alan Gabriel Bem
Alan Gabriel Bem
e.g. ``` namespace Entity; interface Snapshotter { public function restoreToSnapshot(Entity $entity) : ?Entity; public function takeSnapshot(Entity $entity) : void; } ``` and ``` namespace Entity\AggregateRoot; interface Snapshotter { public function...
- [ ] streak.command_bus - [ ] streak.event_store
add `CREATE INDEX ON events (type, producer_type, producer_id, producer_version);` add `CREATE INDEX ON events (number, type, producer_type, producer_id, producer_version);`
... use aggressive interface composition instead.
For example, when replaying projections (rebuilding) its better to disable transactions as the process would be faster. Passing an option can be viable solution Talk this out with somebody.