Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I've used my share of data access libraries and patterns (e.g. hibernate, activerecord, ecto, ...). The only time I've been happy is when I use raw SQL for non-dynamic SQL and a lightweight query builder for everything else.
I feel like I always run into some thing that at best isn't intuitive to express/read and at worse, cannot be expressed. If I remember correctly, when I was learning Elixir/Ecto, https://github.com/elixir-ecto/ecto/issues/1616 issue and the lack of lateral join support caused me issues.
Want to create a user?
"insert into users (id, name, status) values ($1, $2, $3)"
Our query builder takes pretty raw SQL fragments:
q = Query.new()
If you want to play around with Ecto in isolation, you can (thanks to `Mix.install/2`) work in single-files, all containing the migrations, the schemas and configuration.
Check-out this repository for an example (and other single-file examples):
https://github.com/wojtekmach/mix_install_examples/blob/main...
I enjoy everything about Elixir/Phoenix except Ecto. Maybe it's just my personal taste since I also disliked Linq and Ecto is very similar. What I want is something closer to Rob Conery's https://github.com/robconery/moebius.
We're using Ecto, but I'm still looking for that easy tool that just seem wonderful to me. $.02