Why Ecto?

Learn the importance of Ecto.

Why is Ecto a good choice?

For as long as there have been databases, programmers have been writing libraries to access those databases in more convenient ways. Essentially they’ve been trying to avoid writing SQL.

SQL is powerful—there’s a reason it’s stuck around as long as it has—but generating it manually is tedious and prone to error. Developers have addressed this problem by creating libraries that wrap up the low-level vagaries of a database into a more harmonious API. In Java, we had Hibernate. In Python, SQLAlchemy. In Ruby, ActiveRecord and DataMapper. Now, in Elixir, we have Ecto.

Ecto is an extensive library. Even with its excellent documentation, it can be difficult to navigate around it. We’ll take you through what we believe is the optimal path for learning the major components, and along the way you’ll get expert advice and insight from one of Ecto’s creators. In the end, you’ll have a solid working knowledge of Ecto and be ready to start integrating it into your projects.

Who is this course for

This course is for developers who want to access relational databases from their Elixir applications. This includes applications that use the Phoenix web development framework. However, Ecto can work in any Elixir application, regardless of whether it uses Phoenix.

This course assumes some basic knowledge of Elixir and comfort with creating and running Elixir applications. You also need to know the basic components of the language, such as modules, functions, pattern matching, working with the pipe operator, and so on. If you’re brand new to the language, you might want to get some experience under your belt before diving into Ecto.

We’re also going to assume that you’re comfortable working with relational databases and SQL. You don’t need to be an expert, but you should be familiar with tables, columns, indexes, and how to write queries.