Elixir ORM and Datamapping

Open-source Elixir projects categorized as ORM and Datamapping

Top 23 Elixir ORM and Datamapping Projects

  • GitHub repo ecto

    A toolkit for data mapping and language integrated query.

    Project mention: ClickHouse as an alternative to Elasticsearch for log storage and analysis | news.ycombinator.com | 2021-03-02

    > SQL doesn't compose all that well.

    On that topic, I really enjoy working in Elixir because Ecto [1] lets you write "SQL" with Elixir's composable functional syntax. It sits somewhere between "the language is compiled to SQL" and ORM. The Ruby-esque syntax took some getting used to, but once I was past that hurdle my productivity skyrocketed. It's not 100% feature complete compatibility with all the different SQL dialects, but most of what you'll need is there.

    [1] https://github.com/elixir-ecto/ecto

  • GitHub repo redix

    Fast, pipelined, resilient Redis driver for Elixir. 🛍

  • GitHub repo postgrex

    PostgreSQL driver for Elixir

  • GitHub repo eventstore

    Event store using PostgreSQL for persistence (by commanded)

  • GitHub repo amnesia

    Mnesia wrapper for Elixir.

  • GitHub repo memento

    Simple + Powerful interface to the Mnesia Distributed Database 💾

  • GitHub repo ecto_enum

    Ecto extension to support enums in models

    Project mention: Use the new Enum type in Ecto 3.5 | dev.to | 2021-01-05

    Postgres and MySQL have the ability to create enum types that can be used for columns and will validate them at the data layer rather than the application layer. This means that your data store would be protected from bad values. For a long time, the EctoEnum library has been the best way to set up custom enum types for Postgres:

  • GitHub repo moebius

    A functional query tool for Elixir

  • GitHub repo rethinkdb

    Rethinkdb client in pure elixir (JSON protocol)

  • GitHub repo mongodb

    MongoDB driver for Elixir

    Project mention: [Podcast] ThinkingElixir 34: José Valim reveals Project Nx | reddit.com/r/elixir | 2021-02-10
  • GitHub repo paper_trail

    Track and record all the changes in your database with Ecto. Revert back to anytime in history. (by izelnakri)

  • GitHub repo exredis

    Redis commands for Elixir (by artemeff)

  • GitHub repo mongodb_ecto

    MongoDB adapter for Ecto

  • GitHub repo triplex

    Database multitenancy for Elixir applications!

  • GitHub repo mariaex

    Pure Elixir database driver for MariaDB / MySQL

  • GitHub repo arc_ecto

    An integration with Arc and Ecto.

  • GitHub repo xandra

    Fast, simple, and robust Cassandra driver for Elixir.

    Project mention: Should I use Ecto or a "dedicated" driver with cassandra? | reddit.com/r/elixir | 2021-01-18

    Cassandrax library u/jesterden just mentioned is built on top of Xandra, which supports ScyllaDB

  • GitHub repo ExAudit

    Ecto auditing library that transparently tracks changes and can revert them.

  • GitHub repo ecto_mnesia

    Ecto adapter for Mnesia Erlang term database.

  • GitHub repo atlas

    Object Relational Mapper for Elixir

  • GitHub repo Bolt.Sips

    Neo4j driver for Elixir

  • GitHub repo riak

    A Riak client written in Elixir.

  • GitHub repo ecto_psql_extras

    Ecto PostgreSQL database performance insights. Locks, index usage, buffer cache hit ratios, vacuum stats and more.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-03-02.

Index

What are some of the best open-source ORM and Datamapping projects in Elixir? This list will help you:

Project Stars
1 ecto 5,065
2 redix 830
3 postgrex 818
4 eventstore 744
5 amnesia 637
6 memento 605
7 ecto_enum 536
8 moebius 532
9 rethinkdb 497
10 mongodb 464
11 paper_trail 387
12 exredis 357
13 mongodb_ecto 319
14 triplex 265
15 mariaex 257
16 arc_ecto 244
17 xandra 239
18 ExAudit 227
19 ecto_mnesia 224
20 atlas 213
21 Bolt.Sips 206
22 riak 195
23 ecto_psql_extras 189