问题标签 [rust-diesel]

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 投票
1 回答
2335 浏览

rust - `diesel_geography::types::GeogPoint` 没有实现特征 `serde::Deserialize<'_>`

我正在尝试使用 Diesel 和diesel_geography 从使用 Rust 的 PostGIS 数据库中读取。

这是我得到的错误:

环顾四周,我发现当有多个版本的serdeused as 依赖项时会发生类似的错误,这可以使用cargo tree -d. 我已经尝试过并且serde没有显示为重复的依赖项。

到目前为止,这是我的代码:

货运.toml

架构.rs

模型.rs

main.rs

0 投票
1 回答
75 浏览

rust-diesel - Diesel 获取单亲和许多孩子 - 火箭

我已经能够让所有的父母和所有的孩子在一起。有人知道如何让单亲父母和所有的孩子在一起吗?

0 投票
1 回答
13546 浏览

rust - 使用 Diesel 的 `belongs_to` 属性时“使用未声明的类型或模块”

我松散地遵循 Diesel 的入门指南尝试设置关系数据库,但在编译时出现以下错误:

这是二进制文件:

和 lib.rs(导入为prrr_gql

模型.rs

和 Diesel 生成的 schema.rs

我能找到的与此相关的唯一问题是我需要birds在范围内并引用table!我提供的宏,所以我不确定缺少什么。

当我注释掉与birds数据库相关的所有内容时,一切都按预期运行。

带有 Cargo.toml 的完整项目供参考:https ://github.com/crashspringfield/prrr_gql/tree/diesel-error

0 投票
2 回答
419 浏览

mysql - 无法使用柴油箱从 mysql 数据库加载结果

使用柴油箱加载返回错误以与 MySQL 数据库交互:

表架构:

chart_models.rs 文件:

有人可以帮助检测问题吗?

0 投票
0 回答
299 浏览

postgresql - 使用来自 postgres 数据库的 Diesel 从具有子查询的关联表中删除

我有一个查询,我试图从 SQL 转换为 rust/diesel,但在使用柴油创建子查询时遇到了问题。

我正在使用柴油 =“1.4.2”以及 postgres 功能。

我有以下架构和模型......

然后我有这个 SQL 查询:

到目前为止,我尝试使用以下方法,但无法弄清楚如何绑定子查询/表达式。


我知道还有其他方法可以编写删除查询,但我需要能够限制它删除的行数。关联/联结表很大,每个作业有 300 万行,作业每 15 分钟运行一次。一次删除它会锁定数据库,所以它不是一个选项。

抱歉,我无法在生锈的操场上制作可重现的样品,因为它没有柴油。

0 投票
2 回答
976 浏览

rust - 如何使用actix在函数内部使用数据库池?

我为 MySQL 数据库创建了一个池,如下所示:

像这样包含在actix中:

问题来了,如何在这个 info 函数中使用它:

直接将 MySQL 连接的一个实例传递给 get_infos 运行良好,但使用池我不知道如何处理它?!请问有什么帮助吗?

为了更清楚地说明,我的目标是使用 POOLING 而不是只使用一个实例,就像这段代码中的情况一样:

我在前面的代码中启动了 POOL to actix: .data(pool.clone()) // <-- HERE

但是如何将它作为参数传递给get_infos函数。

再次感谢您的帮助。

0 投票
0 回答
752 浏览

rust - 如何获取与柴油的关联

我正在学习 Rust,我正在尝试使用 Diesel 从数据库中加载关联。我定义了以下模型:

现在我正在尝试使用以下代码获取所有联系人及其相关电子邮件:

但这不起作用。我错过了什么?该错误与不满足的特征界限有关。

完整的错误信息:

0 投票
1 回答
481 浏览

rust - 如何获得 Diesel 架构模块的自动完成功能?

我想出了如何使 Diesel 与我的项目一起工作,但是当我尝试使用模式模块中的功能时,我没有从安装了 RLS 扩展的 VS Code 获得代码完成建议。

我还尝试使用 IntelliJ Rust 插件获得建议,但没有成功;也许我错过了一些东西。问题似乎来自宏的使用。

该代码有效,但在我编写后我从 VS Code 中一无所获posts。或schema::

在我看来,这似乎是 Diesel 的一大特色,我不敢相信用它来完成代码是不可能的。

0 投票
1 回答
2377 浏览

join - Diesel join 无法推断类型

rust 版本 1.18.3 柴油版本 1.0.0 Debian 10 上的 postgres 11

我正在尝试使用 Diesel ORM 和 postgres 在 Rust 中加入两个表。该表是帖子和用户,我想将用户的用户名加入到帖子表中。

我在 CREATE TABLE 语句中的帖子中实现了一个外键,指向用户中的 id,因此柴油自动派生了可连接!和allow_tables_to_appear_in_same_query!schema.rs 中的宏。然而,当我尝试在我的代码中加入表格时,rust 无法推断类型,我不知道如何注释类型。

这是我的 main.rs

我收到此错误消息:

有关此错误的更多信息,请尝试rustc --explain E0282. 错误:无法编译cmsbackend

我是否可能需要在我的结构定义中派生其他东西:

我如何让它编译?


编辑:
感谢您的评论。这是我的 schema.rs 的内容

0 投票
2 回答
1039 浏览

rust - 可以在没有#[derive(Serialize)] 的情况下在枚举上实现/派生序列化吗?

我正在使用 rust + Rocket + 柴油 (orm) + serde_derive 来制作一个休息 api。目前,如果柴油由于某种原因未能插入用户,我正在处理 api 的错误处理。它看起来像这样:

但是,json: json!({"success": false, "error": error}),给了我这个错误:

听上去,diesel::result::Errordoes not #[derive(Serialize)],所以不能用json!宏序列化。因此,我需要一些方法来diesel::result::Error实现 implement/derive Serialize

提前感谢您的帮助。

顺便说一句,ApiResponse 看起来像: