Ecto図解（Ectoの全体像を３分で理解する！）

# Ecto図解（Ectoの全体像を３分で理解する！）

如何に素早く、分かりやすくEctoを理解するかを考えて図解にしました。
Ectoを利用して、DBに接続して、クエリが発行できる状態までの環境設定を分かりやすくまとめます。
特別な用語は除いて、ざっくりした流れから理解してもらいたいと思います。

## 用語１
### Ecto
Elixirでデータベースを扱う便利なライブラリです。Ecto独自のクエリを利用することで、DB変更時にも環境設定を変更するだけでクエリを修正することなく移行できます。
### Ectoリポジトリ
リポジトリは保管場所や貯蔵庫の意味で、データベースとの全ての通信はこのレポジトリを使用して行われます。

## Ectoの概要
Ectoを利用して、DBに接続して、クエリが発行できる状態までの環境設定をまとめると、５STEPになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954665/9e25e83d-5134-4870-a614-886aa8e1330c.png)


次にEctoの用語を使って同じ手順を表現します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954665/81e6f70b-aeed-ee5d-bf5f-c3a5d52753f8.png)

概要を理解してもらった後に、それぞれの用語も解説します。

## 用語２
### Ectoマイグレーション
マイグレーションは移動や移住の意味で、データベース内のデータを保持したままテーブルの構成を変更するような作業を指します。テーブルを作成するための設計と考えてください。
### Ectoスキーマ
どんな種類のデータをどんな構造で格納するか定義したもの。外部データをElixirで使えるようにするもの（Elixir構造体にマップして利用する）。(DBのスキーマと混同しないように注意してください。）

## Ecto図解
５STEPの作業を図で表すとこのような形です。
関連するものは同じ色の文字にしています。このような形でECTOの全体像の理解に役立てて貰えたら幸いです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954665/df32b1e2-13de-7fa7-6399-7b5a147ab087.png)






																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											

																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											
																											

																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												

																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												

																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												
																												








語弊がある場合は、随時コメントを頂き訂正させて頂きます。