Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support multiple event stores #55

merged 54 commits into from May 14, 2017


Copy link

@slashdotdash slashdotdash commented May 14, 2017

Extract event store integration to a behaviour (Commanded.EventStore). This defines the contract to be implemented by an event store adapter. It allows additional event store databases to be used with Commanded.

By default, a GenServer in-memory event store adapter is used. This should only be used for testing as there is no persistence.

The existing PostgreSQL-based eventstore integration has been extracted as a separate package: commanded_eventstore_adapter.

There is now a new adapter for Greg Young's Event Store using the Extreme library, available as package: commanded_extreme_adapter.

You must install the required event store adapter package and update your environment configuration to specify the :event_store_adapter module. See the README for details.

Thanks to @sharksdontfly for taking this feature on and getting the multiple event store adapters implemented.

simon and others added 30 commits Dec 9, 2016
…ify event names different from event module name by use'ing EventName 'custom-event-name'
…ate.aggregate_version from last received RecordedEvent.event_id
…a read did not reach end of stream and the number of read events are less than given count
Initial in-memory default event store adapter.

Set default adapter to `Commanded.EventStore.Adapters.InMemory`
They will be moved into their own projects.
Use latest Erlang and Elixir versions.
@slashdotdash slashdotdash merged commit e966282 into master May 14, 2017
2 checks passed
@slashdotdash slashdotdash deleted the sharksdontfly-eventstore-behaviour branch May 14, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

1 participant