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 是 Elixir 官方提供的数据库包装和集成查询语言的项目。 使用Ecto,我们可以创建 migrations,定义 schema,插入和更新记录,以及查询数据。

为了往数据库中插入,更新或是删除数据,Ecto.Repo.insert/2, update/2delete/2 都需要一个 changeset 作为它的第一个参数,那么什么是 changesets 呢?

几乎每个开发人员都熟悉的一个任务是检查输入数据是否存在潜在的错误 - 这是因为我们希望在尝试将数据用于我们的目的之前确保数据是处于正确的状态。

Ecto 提供了一个有关数据更改的完整解决方案,Ecto 将相关的函数和数据结构集合在 Changeset 模块中。 在本节课程中,我们将学习 Changeset 有关的功能,以及如何在将数据保存到数据库之前校验数据的完整性相关的知识。

本课程我们将学习如何使用 Ecto 来定义和使用 schema 之间的关联关系。

{: .excerpt }