EventStore adapter for Commanded

Use the PostgreSQL-based EventStore with Commanded.

Changelog

MIT License

Build Status

Getting started

The package can be installed from hex as follows.

  1. Add commanded_eventstore_adapter to your list of dependencies in mix.exs:

    def deps do
    [{:commanded_eventstore_adapter, "~> 0.5"}]
    end
  2. Include :eventstore in the list of extra applications to start in mix.exs:

    def application do
    [
    extra_applications: [
    :logger,
    :eventstore,
    ],
    ]
    end
  3. Configure Commanded to use the Commanded.EventStore.Adapters.EventStore adapter:

    config :commanded,
    event_store_adapter: Commanded.EventStore.Adapters.EventStore
  4. Configure the eventstore in each environment's mix config file (e.g. config/dev.exs), specifying usage of the included JSON serializer:

    config :eventstore, EventStore.Storage,
    serializer: Commanded.Serialization.JsonSerializer,
    username: "postgres",
    password: "postgres",
    database: "eventstore_dev",
    hostname: "localhost",
    pool_size: 10
  5. Create the eventstore database and tables using the mix task:

    $ mix do event_store.create, event_store.init