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によりマイグレーション、スキーマの定義、レコードの挿入や更新、そしてそれらに対するクエリが可能になります。

挿入、更新、またはデータベースからデータの削除をするために、 Ecto.Repo.insert/2update/2 そして delete/2 は第1引数にチェンジセットを必要とします。 しかしチェンジセットとは何でしょうか?

ほぼ全ての開発者にとって馴染みのあるタスクは、潜在的なエラーのために入力データをチェックすることです。目的に沿ってデータを使用する前に、そのデータが正常な状態であることを確認したいのです。

Ectoは Changeset モジュールとデータ構造体という形で、データの変更を扱うための完全なソリューションを提供します。 このレッスンではそれらの機能を調べ、データベースへ永続化する前にデータの整合性を検証する方法を学びます。

このセクションでは、スキーマ間のアソシエーションを定義し、扱うためにEctoを使用する方法について学びます。