问题标签 [ecto]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2715 浏览

elixir - 如何模式匹配 Ecto 查询错误

像 elixir 中的其他函数(以及 Ecto 自己的事务)一样,我想通过模式匹配来处理 Ecto 查询的潜在错误。像这样:

显然这不起作用,但我怎样才能模式匹配 Ecto 错误,如 Ecto.NotSingleResult 和其他潜在的查询问题,如预加载错误?

0 投票
2 回答
9348 浏览

elixir - 默认情况下预加载 Ecto 关联

有没有办法在不显式使用 preload: 的情况下预加载 ecto 关联?

类似于架构中的选项?

我正在做类似的事情

编辑:我试图这样做的原因是因为我想将相关模型预加载到已经预加载的相关模型中,比如

0 投票
0 回答
562 浏览

elixir - 运行 Ecto 迁移时“Regex.match?/2 中没有函数子句匹配”

我正在开发我的第一个 Phoenix 应用程序,并尝试使用 Ecto 迁移来创建我的第一个数据库表。但是,每当我尝试运行迁移时,mix ecto.migrate Repo都会出现错误:

该错误似乎与我的迁移无关。我已经完全删除了迁移文件,并且发生了同样的问题。我更新了所有库。没有改变。

0 投票
2 回答
10172 浏览

postgresql - 设置 Phoenix 框架和 Ecto 以使用 UUID:如何插入生成的值?

几天前,我开始在 Postgres 数据库中使用 Elixir 和 Phoenix Framework (v 0.12.0)。我正在尝试创建一个具有 UUID 主键的表,我更喜欢顺序默认值。

在使用mix phoenix.gen.html生成模型和迁移文件并按照 Phoenix 文档中的其他步骤进行操作后,我已更改

web.ex

如 Ecto 文档中所述。我也将迁移更改为

不幸的是,当我尝试从自动生成的表单向表中添加一个条目时,我收到一个错误,因为它id为空。如果我手动将 - 列添加id到模型中,我会收到该列已存在的错误。如果我忽略在该列中设置primary_key为 falsetable/2并删除该id列,则该表将使用顺序id列生成。

我需要id在变更集中手动设置,还是在设置我的应用程序以使用 UUID 时出错?提前致谢

0 投票
1 回答
1557 浏览

mysql - 如何在 ecto(=> 0.11) 中调用 MySQL 存储过程?

我正在寻找一种使用调用存储过程的方法,没有找到。在长生不老药的 ecto lib 中是否有可能?

0 投票
1 回答
924 浏览

unit-testing - 是否可以在 ExUnit 测试中存根(模拟?) Ecto.UUID.generate?

Ecto.UUID.generate用来在用户模型上创建一个随机令牌。

在我的ExUnit测试中,我想测试调用创建路由的控制器,但是由于令牌始终是随机的,我无法确定性地测试结果。

理想情况下,我希望能够在我的测试中存根Ecto.UUID.generate以便它始终创建相同的UUID,以便我可以正确测试响应。

谢谢 :)

0 投票
2 回答
2690 浏览

elixir - Elixir ecto 连接到现有数据库

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

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

我对如何在长生不老药中使用 ecto 有点困惑。

总是有一个声明如下的模式

然后在“查询”部分

ecto gona 使用 Wea​​ther中声明的模式形成查询

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

当我创建自己的查询时

在我输入命令后$ mix do deps.get, compile

错误告诉我function tenant/0 undefined

tenant不是函数,它只是一个TESTDB我没有在任何地方声明的表

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

0 投票
1 回答
2473 浏览

timestamp - elixir,ecto,比较where子句中的时间

当我在 Elixir 中使用 ecto 创建查询时,我不太确定如何比较“where”子句中的时间。

在架构部分我声明create_at:datetime

查询部分就像

看来

where: t.created_at <= %Ecto.DateTime{{2015, 4, 27}, {10, 8, 42, 0}},

部分格式错误。有人可以告诉我如何以正确的方式做到这一点吗?

PS:关于如何定义字段create_at,下面的链接给了我答案

Ecto 和 Elixir 的默认日期时间

0 投票
2 回答
4122 浏览

phoenix-framework - Ecto where like 查询的行为类似于 where ==

我正在尝试让类似 ecto 的查询像这样工作:

在我的表中,我有一个 company_name “Asymptote”。使用 where:like/2 我的查询如下所示:

当 pg_trm 搜索未注释时,它看起来像这样:

据我所知,查询看起来不错,但没有结果。由于我在将“渐近线”添加到数据库后添加了索引,我希望这就是为什么在 pg_trm 索引中找不到它的原因,但为什么 like/2 或 ilike/2 不起作用?当输入全名“Asymptote”时,我能够找到记录。

0 投票
1 回答
3603 浏览

elixir - 在 Ecto 中按日期时间查询

这是我尝试过的。

我也试过

两者都返回相同的消息

据我了解,我应该在查询中使用 Ecto.DateTime。也许我错过了一些明显的东西?谢谢!