您是否需要使用ecto来查询数据库?

时间:2016-05-24 11:25:29

标签: elixir ecto

遇到有关使用Ecto的链接。 Elixir ecto connect to an existing DB。 模式已经在数据库中创建了,为什么要在这里声明?当使用odbc / jdbc / odac驱动程序时,我们使用像Ecto.Adapters.SQL.query这样的stmt,并且不那么复杂和直接。

那么在哪里给stmt:Ecto.Adapters.SQL.query(YourRepo," SELECT $ 1",[1])?
是在web / models / abc.ex中吗? 你如何取回结果? 您是否可以提及您从Ecto获得的一些直接SQL提供的好处?

2 个答案:

答案 0 :(得分:3)

请您用更精细详细的说明和内容编辑您的问题,好吗?

关于好处:

  • Ecto为查询数据库提供了非常好的表达语言
  • 清理查询并防止SQL注入
  • 提供易于构建的验证,以确保插入的数据符合您想要的规则
  • 使用Elixir
  • 直接处理数据变得更容易
  • 处理数据库连接并允许根据需要生成更多工作人员

答案 1 :(得分:3)

听起来Ecto可能不适合你尝试用它做什么。 Ecto非常适合新项目,您可以从头开始使用迁移并在系统中构建模式。为了连接到现有的数据库,当你尝试重新映射所有现有项目时,它会变得有点乏味。

幸运的是,如果它不能满足您的需求,您就不会与Ecto联系在一起。您可能想尝试像Moebius这样的东西,因为它似乎完全采用您正在寻找的方法。

  

Moebius不是ORM。没有映射,没有模式,没有迁移;只有查询和数据。我们尽可能地接受PostgreSQL,展现善良,让你成为英雄。

https://github.com/robconery/moebius