Skip to content

Support multiple event stores - #55

Merged
slashdotdash merged 54 commits into
masterfrom
sharksdontfly-eventstore-behaviour
May 14, 2017
Merged

slashdotdash merged 54 commits into
masterfrom
sharksdontfly-eventstore-behaviour

Conversation

@slashdotdash

@slashdotdash slashdotdash commented May 14, 2017 •

Copy link
Copy Markdown
Member

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 December 9, 2016 19:46
…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
@slashdotdash
slashdotdash deleted the sharksdontfly-eventstore-behaviour branch May 14, 2017 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant