【发布时间】:2015-09-28 03:54:05
【问题描述】:
我正在尝试将 ecto 与 postgres 模式一起使用,但是当从 repo.whatever 中使用时,查询将作为表名定向到公共模式。
我可以像这样使用 query/3 将有效的模式限定查询作为 sql 传递:
query(Repo, "SELECT * FROM schema.table", [])
并从模式中的表中获取结果。
这个:
Repo.all(%Ecto.query{from: {"schema.table", model}})
导致预期的 sql 是:
SELECT a0.foo FROM schema.table as a0
但是,查询导致找不到表 schema.table 的错误。如果 postgrex 向 postgres 发送“schema.table”,它应该被解释为直接查询中的模式限定表名,对吗? postgrex 在发送之前是否以某种方式解析表名?
【问题讨论】: