问题标签 [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.
elixir - 如何模式匹配 Ecto 查询错误
像 elixir 中的其他函数(以及 Ecto 自己的事务)一样,我想通过模式匹配来处理 Ecto 查询的潜在错误。像这样:
显然这不起作用,但我怎样才能模式匹配 Ecto 错误,如 Ecto.NotSingleResult 和其他潜在的查询问题,如预加载错误?
elixir - 默认情况下预加载 Ecto 关联
有没有办法在不显式使用 preload: 的情况下预加载 ecto 关联?
类似于架构中的选项?
我正在做类似的事情
编辑:我试图这样做的原因是因为我想将相关模型预加载到已经预加载的相关模型中,比如
elixir - 运行 Ecto 迁移时“Regex.match?/2 中没有函数子句匹配”
我正在开发我的第一个 Phoenix 应用程序,并尝试使用 Ecto 迁移来创建我的第一个数据库表。但是,每当我尝试运行迁移时,mix ecto.migrate Repo
都会出现错误:
该错误似乎与我的迁移无关。我已经完全删除了迁移文件,并且发生了同样的问题。我更新了所有库。没有改变。
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 时出错?提前致谢
mysql - 如何在 ecto(=> 0.11) 中调用 MySQL 存储过程?
我正在寻找一种使用调用存储过程的方法,没有找到。在长生不老药的 ecto lib 中是否有可能?
unit-testing - 是否可以在 ExUnit 测试中存根(模拟?) Ecto.UUID.generate?
我Ecto.UUID.generate
用来在用户模型上创建一个随机令牌。
在我的ExUnit测试中,我想测试调用创建路由的控制器,但是由于令牌始终是随机的,我无法确定性地测试结果。
理想情况下,我希望能够在我的测试中存根,Ecto.UUID.generate
以便它始终创建相同的UUID,以便我可以正确测试响应。
谢谢 :)
elixir - Elixir ecto 连接到现有数据库
在下面的链接中做了一些研究之后
https://github.com/elixir-lang/ecto/tree/master/examples/simple
我对如何在长生不老药中使用 ecto 有点困惑。
总是有一个声明如下的模式
然后在“查询”部分
ecto gona 使用 Weather中声明的模式形成查询
我的问题是我只想连接到现有数据库“TESTDB”并进行一些 SELECT,我不需要任何新的 schmema 来完成我的工作。请问可以在ecto中做吗?
当我创建自己的查询时
在我输入命令后$ mix do deps.get, compile
错误告诉我function tenant/0 undefined
tenant
不是函数,它只是一个TESTDB
我没有在任何地方声明的表
我想我只是在ecto中迷失了自己
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
,下面的链接给了我答案
phoenix-framework - Ecto where like 查询的行为类似于 where ==
我正在尝试让类似 ecto 的查询像这样工作:
在我的表中,我有一个 company_name “Asymptote”。使用 where:like/2 我的查询如下所示:
当 pg_trm 搜索未注释时,它看起来像这样:
据我所知,查询看起来不错,但没有结果。由于我在将“渐近线”添加到数据库后添加了索引,我希望这就是为什么在 pg_trm 索引中找不到它的原因,但为什么 like/2 或 ilike/2 不起作用?当输入全名“Asymptote”时,我能够找到记录。
elixir - 在 Ecto 中按日期时间查询
这是我尝试过的。
我也试过
两者都返回相同的消息
据我了解,我应该在查询中使用 Ecto.DateTime。也许我错过了一些明显的东西?谢谢!