Lessons: Ecto

Interacting with data is a part of most applications. These lessons explore the Ecto library and how to leverage it for our database interactions.

Ecto es un proyecto oficial de Elixir que provee un envoltorio a la base de datos y un lenguaje de consultas integrado. Con Ecto podemos crear migraciones, definir modelos, insertar, actualizar y consultar registros de nuestra base de datos.

Con el objetivo de insertar, actualizar o borrar datos de la base de datos, Ecto.Repo.insert/2, update/2 y delete/2 requieren un changeset como primer parámetro. Pero ¿Qué son los changesets?

Una tarea familiar para casi todo desarrollador es revisar la data de entrada en busca de potenciales errores - queremos asegurarnos que la data esté en un estado correcto, antes de intentar usarlos para nuestros propósitos.

Ecto provee una solución completa para trabajar con los cambios de datos en la forma de un módulo Changeset y una estructura de datos. En esta lección vamos a explorar esta funcionalidad y aprender como verificar la integridad de la data antes de guardarla a la base de datos.

En esta sección vamos a aprender como usar Ecto para definir y trabajar con asociaciones entre nuestros esquemas.