# EventStore adapter for Commanded

Use the PostgreSQL-based [EventStore]( with [Commanded](


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"}]

2. Include `:eventstore` in the list of extra applications to start in `mix.exs`:

    def application do
        extra_applications: [

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