2016-05-24 6 views
0

Ectoの使用については、このリンクを介して来た。 Elixir ecto connect to an existing DB。 スキーマは既にデータベースに作成されているので、ここで宣言する理由は? odbc/jdbc/odacドライバを使用するときは、Ecto.Adapters.SQL.queryのようなstmtを使用しますが、それほど複雑ではありません。ectoを使用してデータベースに問い合わせる必要がありますか?

stmt:Ecto.Adapters.SQL.query(YourRepo、 "SELECT $ 1"、[1])はどこにありますか?
web/models/abc.exにありますか? 結果はどのように戻ってきますか? 直接SQLを使用しないというEctoの利点をいくつか教えてください。

+0

だけでなくDBを照会するアーランのODBCライブラリを使用してのパスもあります。しかし、私は@ sashafonsecaがEctoを代わりに使用するいくつかの理由を明らかにしたと思います。 –

答えて

3

質問をより詳細で詳細な説明と内容で編集してください。メリットについて

  • エクトが挿入されたデータに従うを確保するために検証を構築するために簡単に提供し
  • データベースを照会する
  • クエリはSQLインジェクションに対して消毒及び保護されて非常に良いと表情豊かな言語を提供あなたが望む規則
  • エリクシルで直接データを扱うことを容​​易にします
  • データベース接続を処理し、より多くのワーカーをn eeded
+0

答えをありがとう。スキーマはすでにデータベースに作成されているため、Ecto.Adapters.SQL.query()を使用して構造化クエリ言語を直接使用してデータを取得できます。 – user1064227

+0

はい、Ectoには簡単な方法があります。 Ectoがいかに簡単で便利かを理解し、理解するために、いくつかのガイドやProgramming Phoenixの本を読むことをお勧めします。 –

+0

答えをありがとう。ちょうどエリクールを学ぶ。スキーマはすでにデータベースに作成されているので、データをフェッチするために構造化クエリ言語(ここではEcto.Adapters.SQL.query()を使用)を直接使用できます。または、ストアドプロシージャを使用します。バインド変数を使用してSQLインジェクションを防止します。検証のために、クライアントとサーバーの両方を使用してください。おそらくEctoはフェッチされたデータを処理し(?)、より多くのワーカーを生成するのに役立つかもしれません。 Ectoがデータを直接扱うのを簡単に説明できますか?接続プールはどうですか? Ectoを使用して接続プールを作成していますか? – user1064227

3

Ectoは、あなたがそれでやろうとしていることに最も適していないかもしれません。 Ectoは、マイグレーションを使用して最初からやり直すことができ、システムにスキーマを構築できる新しいプロジェクトに最適です。既存のデータベースに接続するために、既存のすべてのアイテムを再マッピングしようとすると少し退屈になることがあります。

幸運なことに、あなたのニーズを満たしていない場合、あなたはエクトに縛られていません。 Moebiusのようなものを試してみたいと思うかもしれませんが、これはあなたが探しているアプローチを正確にとっているようです。

メビウスはORMではありません。マッピングもスキーマもマイグレーションもありません。クエリとデータのみ。私たちは可能な限りPostgreSQLを採用し、あなたが英雄になるようにその良さを浮き彫りにします。

https://github.com/robconery/moebius

関連する問題