PHP 7.4 EventStore Implementation
BSD-3-CLAUSE License
Published by codeliner over 9 years ago
The 3.0 version of ProophEventStore is a complete rewrite. The store now handles Prooph\Common\Messaging\DomainEvent instead of StreamEvents which causes massive BC breaks. It is recommended to only use v3.0 for new projects, otherwise you will need to change a lot of code. Also checkout new versions of the PES adapters!
Published by codeliner over 9 years ago
Published by codeliner almost 10 years ago
Due to the new way the aggregate repository is working wih aggregate types (introduced in PES v2.0) the MappedSuperClassStreamStrategy does not work any longer.
To simplify the strategies and make it more clear how they work we decided to remove the MappedSuperClassStreamStrategy and add the feature of handling aggregate root hierarchies to the SingleStreamStrategy.
So additionally to the changes described in the release notes of the v2.0 release here are more major changes:
Published by codeliner almost 10 years ago
Important
Additionally to the changes described here you should also see notes for the v2.0.1 release. It is a Hotfix and includes more major changes. It is recommended to install v2.0.1.
Major Changes:
Most important change that breaks the API of v1.x was made in the AggregateRepository
The fourth parameter of the constructor (the AggregateType) is no longer optional. Therefor you don't need to provide an AggregateType when requesting a aggregate root with AggregateRepository::getAggregateRoot
Additionally the way to instantiate an AggregateType has changed. The constuctor is now private and you have to use one of the available static factory methods instead.
Minor Changes:
All assertion chains are replaced with static assertion calls. This makes the code a bit less readable but it is a small performance gain
Published by codeliner almost 10 years ago
This release fixes #34
Published by codeliner almost 10 years ago
Fixes #32
Published by codeliner about 10 years ago
MappedSuperclassStreamStrategy: Stores the events of all aggregates of the same superclass in one stream
Published by codeliner about 10 years ago
The public API of ProophEventStore has reached it's final structure with v0.5.0 and we added missing documentation in the last days. Now it's time to release v1.0.0 to indicate that we will support semantic versioning. All future commits will consider BC or they will be scheduled for v2.0.0.
Published by codeliner about 10 years ago
The complete structure of the library has changed. The EventStore now focuses on persting StreamEvents. Repository handling has moved out of the ES.
Please see the issues for the 0.5.0 milestone and the commit history for all the changes!
Published by codeliner about 10 years ago
Includes pull request #17 from @jsor that fixes configuration issues and some cleanup #15 also provided by @jsor.
*Note that zendframework/zend-db and zendframework/zend-serializer become optional requirements. If you wish to use your own event store adapter implementation there is no need to install the zend components.
@jsor works on a doctrine event store adapter that can be used as alternative.
Published by codeliner about 10 years ago
Includes pull request #14 from @jsor
Published by codeliner over 10 years ago
Small but important change in the event store adapter configuration:
//old way to configure an adapter
'adapter' => array(
'Prooph\EventStore\Adapter\Zf2\Zf2EventStoreAdapter' => array(
'connection' => array(
'driver' => 'Pdo_Sqlite',
'database' => ':memory:'
)
)
),
//NEW way to configure an adapter
'adapter' => array(
'type' => 'Prooph\EventStore\Adapter\Zf2\Zf2EventStoreAdapter'
'options' => array(
'connection' => array(
'driver' => 'Pdo_Sqlite',
'database' => ':memory:'
)
)
),
Published by codeliner over 10 years ago
Fix bad method call in EventStore#rollback
Published by codeliner over 10 years ago
See diff for details
Published by codeliner over 10 years ago
Basic functionality is ready to use:
Published by codeliner over 10 years ago
The major change in this release is the refactoring of the EventSourcedAggregateRoot handling of the EventStore.
The repository related to the the AggregateType is now responsible for the tasks:
The EventStore itself no longer requires the EventSourcedAggregateRoot type, only the default EventSourcingRepository does. With this change in mind you can now use your own EventSourcing implementation for your Aggregates and provide a custom repository that can handle it.
See the changelog https://github.com/prooph/event-store/compare/0.1.0...0.2.0 for detailed information.