# `Squidie.Runtime.Journal.Storage.Ecto`
[🔗](https://github.com/dark-trench/squidie/blob/main/lib/squidie/runtime/journal/storage/ecto.ex#L1)

Postgres-compatible Ecto storage adapter for Squidie journal runtime state.

Use this adapter when the host app wants the Jido journal runtime persisted in
the same Postgres-compatible database boundary as the rest of the application:

    config :squidie,
      runtime: :journal,
      read_model: :read_model,
      journal_storage: {Squidie.Runtime.Journal.Storage.Ecto, repo: MyApp.Repo}

The adapter implements Jido's checkpoint and append-only thread callbacks.
Thread appends are serialized with a row-level lock and honor Jido's
`:expected_rev` optimistic concurrency option.

# `opts`

```elixir
@type opts() :: keyword()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
