2017-04-11 7 views
0

ImはNodeJs/PHPの背景です。エリクシールのエクト・マイグレーションとは何ですか?

あなたはデータベース(私はMYSQLを使用しています)とデータベースでSQLクエリを実行するライブラリがあります。

エクトとは何ですか? Elixrのデータベースのライブラリラッパーのようなものですか?

移行とは何ですか? MySQLでデータベースを作成した時点でEcto Migrationsを作成する必要があるのはなぜですか?

私はMySQLデータベースを作成しているだけで、Elixrからmysqlデータベースを使用するための推奨される方法は何ですか? (とelixrフェニックスとすべてを構成)

例: Databae example

thread

id | title

comment

id | | thread_id

+0

テーブルが正しい列でデータベースに既に存在する場合は、移行を作成する必要はありません。 – Dogbert

+0

待つが、モデル/スキーマ@Dogbertを作成する必要がある – IMOBAMA

答えて

3

簡潔にするために、Ectoは一般的なデータ管理ライブラリとデータベースラッパーです。

データ管理部(主にEcto.Changesetモジュールで実現)は、データベースとは独立しています。外部システムからのデータを処理し、適切なタイプに変換する必要のあるツールを提供します。

データベースラッパー部分は、SQLのSQLインジェクション保護、クエリの構成、およびより豊富な型のシステムを記述すること以外にも追加の機能を提供します。

移行の主な目的は、データベースをバージョンすることです。つまり、開発者が3人あり、すべてデータベースに変更を加えたいということです。移行によって自動化が可能になり、運用データベースと各開発者のデータベースが同じであることを保証しやすくなります。手作業で行うと非常に困難でエラーが発生しやすくなります。

関連する問題