Database & Data Access
Ecto is the database toolkit for Elixir — composable queries, automatic migrations, schema validation, and multi-database support. It's not an ORM in the traditional sense; it embraces explicit data transformations over magic. Postgrex provides a pure Elixir Postgres driver with LISTEN/NOTIFY support. WalEx adds change data capture.
Ecto
libraryNeed a database layer and query builder?
Database toolkit with composable queries, migrations, schema validation, and multi-adapter support
Postgrex
libraryNeed a PostgreSQL driver?
Pure Elixir PostgreSQL driver with support for LISTEN/NOTIFY, streaming, and all Postgres types
Ecto SQLite3
libraryNeed a lightweight embedded database?
SQLite3 adapter for Ecto — perfect for embedded devices and single-node applications
Flop
libraryNeed pagination and filtering for lists?
Filtering, ordering, and pagination for Ecto queries with Phoenix LiveView integration
PaperTrail
libraryNeed an audit trail for data changes?
Track and record all changes to your Ecto models with version history
WalEx
libraryNeed change data capture from Postgres?
Listen to Postgres write-ahead log changes via logical replication for real-time database events
PgEvolver
libraryNeed to distribute database schemas with your library?
Versioned PostgreSQL migrations for Elixir libraries with raw SQL, functions, triggers, and RLS policies