问题标签 [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.
rust - `diesel_geography::types::GeogPoint` 没有实现特征 `serde::Deserialize<'_>`
我正在尝试使用 Diesel 和diesel_geography 从使用 Rust 的 PostGIS 数据库中读取。
这是我得到的错误:
环顾四周,我发现当有多个版本的serde
used as 依赖项时会发生类似的错误,这可以使用cargo tree -d
. 我已经尝试过并且serde
没有显示为重复的依赖项。
到目前为止,这是我的代码:
货运.toml
架构.rs
模型.rs
main.rs
rust-diesel - Diesel 获取单亲和许多孩子 - 火箭
我已经能够让所有的父母和所有的孩子在一起。有人知道如何让单亲父母和所有的孩子在一起吗?
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
mysql - 无法使用柴油箱从 mysql 数据库加载结果
使用柴油箱加载返回错误以与 MySQL 数据库交互:
表架构:
chart_models.rs 文件:
有人可以帮助检测问题吗?
postgresql - 使用来自 postgres 数据库的 Diesel 从具有子查询的关联表中删除
我有一个查询,我试图从 SQL 转换为 rust/diesel,但在使用柴油创建子查询时遇到了问题。
我正在使用柴油 =“1.4.2”以及 postgres 功能。
我有以下架构和模型......
然后我有这个 SQL 查询:
到目前为止,我尝试使用以下方法,但无法弄清楚如何绑定子查询/表达式。
我知道还有其他方法可以编写删除查询,但我需要能够限制它删除的行数。关联/联结表很大,每个作业有 300 万行,作业每 15 分钟运行一次。一次删除它会锁定数据库,所以它不是一个选项。
抱歉,我无法在生锈的操场上制作可重现的样品,因为它没有柴油。
rust - 如何使用actix在函数内部使用数据库池?
我为 MySQL 数据库创建了一个池,如下所示:
像这样包含在actix中:
问题来了,如何在这个 info 函数中使用它:
直接将 MySQL 连接的一个实例传递给 get_infos 运行良好,但使用池我不知道如何处理它?!请问有什么帮助吗?
为了更清楚地说明,我的目标是使用 POOLING 而不是只使用一个实例,就像这段代码中的情况一样:
我在前面的代码中启动了 POOL to actix:
.data(pool.clone()) // <-- HERE
但是如何将它作为参数传递给get_infos
函数。
再次感谢您的帮助。
rust - 如何获取与柴油的关联
我正在学习 Rust,我正在尝试使用 Diesel 从数据库中加载关联。我定义了以下模型:
现在我正在尝试使用以下代码获取所有联系人及其相关电子邮件:
但这不起作用。我错过了什么?该错误与不满足的特征界限有关。
完整的错误信息:
rust - 如何获得 Diesel 架构模块的自动完成功能?
我想出了如何使 Diesel 与我的项目一起工作,但是当我尝试使用模式模块中的功能时,我没有从安装了 RLS 扩展的 VS Code 获得代码完成建议。
我还尝试使用 IntelliJ Rust 插件获得建议,但没有成功;也许我错过了一些东西。问题似乎来自宏的使用。
该代码有效,但在我编写后我从 VS Code 中一无所获posts
。或schema::
。
在我看来,这似乎是 Diesel 的一大特色,我不敢相信用它来完成代码是不可能的。
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 的内容
rust - 可以在没有#[derive(Serialize)] 的情况下在枚举上实现/派生序列化吗?
我正在使用 rust + Rocket + 柴油 (orm) + serde_derive 来制作一个休息 api。目前,如果柴油由于某种原因未能插入用户,我正在处理 api 的错误处理。它看起来像这样:
但是,json: json!({"success": false, "error": error}),
给了我这个错误:
听上去,diesel::result::Error
does not #[derive(Serialize)]
,所以不能用json!
宏序列化。因此,我需要一些方法来diesel::result::Error
实现 implement/derive Serialize
。
提前感谢您的帮助。
顺便说一句,ApiResponse 看起来像: