gpt4 book ai didi

Elixir ecto 连接到现有数据库

转载 作者:行者123 更新时间:2023-12-04 21:52:02 24 4
gpt4 key购买 nike

在下面的链接中做了一些研究之后

https://github.com/elixir-lang/ecto/tree/master/examples/simple

我对如何在 elixir 中使用 ecto 感到有些困惑。

总是 一个模式声明为

defmodule Weather do
use Ecto.Model

schema "weather" do
field :city, :string
field :temp_lo, :integer
field :temp_hi, :integer
field :prcp, :float, default: 0.0
timestamps
end
end

然后在“查询”部分
 def sample_query do
query = from w in Weather,
where: w.prcp > 0.0 or is_nil(w.prcp),
select: w
Simple.Repo.all(query)
end
end

ecto gona 使用 形成查询在 Weather 中声明的模式

我的问题是 我只想连接到现有数据库“TESTDB”并执行一些 SELECT,我不需要任何新的 schmema 来完成我的工作 .请问可以在ecto中做到吗?

当我创建自己的查询时
query = from w in tenant

在我输入命令后 $ mix do deps.get, compile
错误告诉我 function tenant/0 undefined tenant不是函数,它只是 TESTDB 中的一个表我没有在任何地方声明

我想我只是在 ecto 中迷失了自己

最佳答案

您可以通过传递字符串来查询数据库中的任何表:

from p in "posts", where: p.id > 0

在这种情况下,您不需要定义任何架构,您可以直接查询表。最后,您也可以直接进行 SQL 查询:
Ecto.Adapters.SQL.query(YourRepo, "SELECT $1", [1])

但是这样你就失去了 Ecto 给你的大部分好处。

关于Elixir ecto 连接到现有数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30163965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com