ecto相关内容

如何从Elixir ECTO检测数据库连接问题?

我正在编写一个Elixir项目,它通过ECTO连接到Postgres数据库。数据库服务器与应用程序本身位于不同的服务器上,与在相同硬件上运行数据库服务器相比,数据库服务器更容易发生不会影响Elixir项目的中断。 当应用程序正常启动时,数据库连接似乎是自动建立的,一切工作正常。但是,如果存在连接错误,ecto只会将任何错误显示到日志中。 我要做的是检测当前连接状态,并通过简单的插头路由 ..
发布时间:2022-02-25 22:58:23 其他开发

ecto:如何访问预加载的关联的字段

我正试图让与 friend_referral_code 没有关联的用户,或者他们的代码状态为假,并且他们也没有使用任何代码.但是我无法访问预加载的关联 friend_referral_code 的字段状态.这是我的操作方式: def get_first_free_invite_users()做用户=list_users()|>Repo.preload([:: friend_referral_c ..
发布时间:2021-05-03 20:05:20 其他开发

如何在Ecto查询中插入字段?

Ecto文档显示了如何进行插值.但是我在查询中需要动态字段.我有数十个字段,并且为每个字段编写查询似乎并不连贯. defmodule Hedone.SearchController做使用Hedone.Web,:controller别名Hedone.Userdef idade(conn,%{"idade +" => maior,"idade-" => Menor,"campo" => campo ..
发布时间:2021-05-03 20:05:14 其他开发

使用片段&group_by和postgres&ecto?

我正在努力使它与Postgres和Ecto一起使用.下面的查询在没有group_by的情况下可以正常工作,但我需要对似乎看不到的fragment字段进行分组.知道有什么问题吗? def query_clicks做来自(点击)|>选择([C],[fragment("date_trunc('hour',?)as hour",c.inserted_at),c.link_id])|>group_by( ..
发布时间:2021-05-03 20:05:11 其他开发

ECTO建立多个协会

当前正在使用Ecto + Postgres进行Phoenix项目.创建注释时,作为注释属于用户和文章都属于 to ,有没有一种方法可以建立多个关联来生成一个变更集? 类似于此伪代码 comment_changeset = build_assoc(文章,:comment)|>build_assoc(用户,:评论) 有什么想法吗? 解决方案 就像贾斯汀提到的那样,您可以使用 pu ..
发布时间:2021-05-03 20:05:09 其他开发

如何从Ecto中的两个表中选择数据

我试图编写Ecto查询,该查询将同时从两个表中选择数据。像从table1 t1,table2 t2中选择t1。*,t2。*,其中t1.id = 1和t2.id = 2 我找不到解决方案,只能找到方法编写原始SQL,这看起来并不好。 类似于变量-使用预加载,但会产生其他查询。 comments_query =来自注释中的c,order_by:c.published_at Repo. ..
发布时间:2020-10-27 21:20:33 其他开发

如何查询Ecto关联中的第三个关系

Snapmail |> preload(:user) |> preload(:snapmail_cameras) |> preload([snapmail_cameras::camera]) |> preload([snapmail_cameras:[camera::vendor_model]]) |> preload([[snapmail_cameras:[camera:[vend ..
发布时间:2020-10-27 21:20:27 其他开发

Ecto模式字段名称可以与列名称不同吗?

我有一个旧数据库,我正尝试将其放入Ecto。其中有一个 orders 表,其中有一个 order_status_id 列。 order_status_id 映射到旧版系统中的一组常量。 我想拥有 MyApp.Order 结构包含一个 order_status 字段,该字段具有将整数ID转换为有意义的原子的自定义类型。我已经使用了自定义类型,但是我不知道如何将名为 order_status 的 ..
发布时间:2020-10-27 21:20:25 其他开发

自动更新父记录的updated_at字段(Elixir-Ecto)

假设我有两个模型:父母和孩子。 如果更新了子记录,是否可以自动更新相关的父记录时间戳? 解决方案 有两种方法可以实现。其中之一需要Ecto master(即将成为Ecto v2.0),并且只需直接更新父代即可。 #一个加载了父项的child_changeset child_changset = Ecto.Changeset.put_assoc(child_changeset,: ..
发布时间:2020-10-27 21:20:20 其他开发

为什么Ecto的`cast`不能将整数转换为字符串?

我有一个包含 field:owned_by_id,:string 的Ecto模式。我将字段声明为字符串是因为我需要支持“ abc123”之类的值以及“ 123”之类的值。 用于cast / 3的文档说: 第二个参数是根据数据的类型信息强制转换的参数映射。 在我的模块中,我定义 changeset 像: > def changeset(struct,params \\%{})做 ..
发布时间:2020-10-27 21:20:12 其他开发

Elixir + Ecto:如何不在[array]中?

我正在尝试查找所有 match_history 中没有特定字符串元素的 User 领域。我对此进行了猜测: matched_user =用户|>其中([u],^ device_id不在u.match_history中)|>限制(1)|> VideoChat.Repo.one 但它似乎在 not 部分中断了。有办法吗? 解决方案 尝试 用户|>其中([u],而不是u.mat ..
发布时间:2020-10-27 21:20:04 其他开发