othillo/broadway-snapshotting

This package is abandoned and no longer maintained. The author suggests using the broadway/snapshotting package instead.

POC for snapshotting aggregates in broadway/broadway

0.2.0 2017-03-06 13:09 UTC

This package is auto-updated.

Last update: 2022-02-01 13:05:40 UTC


README

POC for snapshotting aggregates in broadway/broadway.

Installation

$ composer require othillo/broadway-snapshotting

Documentation

This project demonstrates taking and using snapshots of an aggregate root in the EventSourcingRepository.

Snaphots can be triggered using different strategies like once every number of events or after an amount of time has passed. The EventCountTrigger implements the former strategy.

Getting started

This repository is just a library. It lacks (for now) implementations of the SnapshottingEventStoreInterface and the SnapshotRepository.

For example if you want store your events and snapshots in a database using doctrine/dbal you will have to:

  • extend the DBALEventStore from broadway/event-store-dbal and implement the SnapshottingEventStoreInterface to query events that have been recorded since the last snapshot.

  • create a DBALSnapshotRepository implementing the SnapshotRepository to store and fetch snapshots. You wil have to figure out how to serialize your aggregate root.

License

This project is licensed under the MIT License - see the LICENSE file for details