peerreynders
Programming Ecto (Pragprog)
by Darin Wilson and Eric Meadows-Jönsson
Languages may come and go, but the relational database endures. Learn how to use Ecto, the premier database library for Elixir, to connect your Elixir and Phoenix apps to databases of the SQL and NoSQL variety. Get a firm handle on Ecto fundamentals with a module-by-module tour of the critical parts of Ecto. Then move on to more advanced topics and advice on best practices with a series of recipes that provide clear, step-by-step instructions on scenarios commonly encountered by app developers. Co-authored by the creator of Ecto, this title provides all the essentials you need to use Ecto effectively.
Don’t forget you can get 35% off the ebook using the code ‘devtalk.com’ ![]()
Most Liked
darinwilson
Aaaaand that’s a wrap - the book is officially completed and released!
Thanks to all who participated in the beta - the early feedback was super helpful ![]()
collegeimprovements
Do anyone know if they cover ETL usecases, Ecto Stream etc?
ericmj
Yes, it will be updated to Ecto 3.0 once the release candidate is out.
peerreynders
ericmj
Hi, glad you are liking the book.
Chapter 12 was a difficult chapter to write, balancing our experiences writing Ecto applications while still maintaining that there is no right or wrong and that there may be other equally valid ways of organizing applications. Where Multi fits best was something we discussed while writing the chapter and it seems like somewhere during the discussions some things were missed.
After discussing this again we are amending this part of the chapter and adding a paragraph that clarifies that we believe multi fits better in context modules than schema modules. The reason being, while multi is a pure data structure like changesets, with multi you usually compose functions from multiple schemas and with changesets you compose functions within a single schema. Since multi is working with multiple schemas it fits better on a higher level inside a context.
Thank you for bringing this up and helping us improve the book during the beta! 









