问题标签 [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 投票
5 回答
39947 浏览

postgresql - 我在哪里可以获得 libpq 源?

我想编写使用 Postgresql 作为 DBMS 的应用程序。要编写客户端应用程序,我需要 libpq 库和头文件吗?如果是的话,我会在哪里获得 libpq 库和头文件。

0 投票
2 回答
1696 浏览

rust - 将 Diesel 连接注入 Iron 中间件

在编写我的测试时,我希望能够将连接注入到请求中,以便我可以将整个测试用例包装在一个事务中(即使测试用例中有多个请求)。

我尝试使用BeforeMiddleware可以在我的测试用例中链接以插入连接的方法来执行此操作,例如:

但是,我在尝试执行此操作时遇到编译错误:

有没有办法通过柴油机的连接来解决这个问题?我在 Github 上找到了几个使用pg板条箱执行此操作的示例,但我想继续使用柴油。

0 投票
1 回答
922 浏览

rust - 如何用 Diesel 的 PgNumeric 类型插入十进制数?

我对如何使用PgNumeric十进制数的类型感到困惑。我在测试中注意到1.0-31.0使用以下实例插入到表中:

我似乎无法弄清楚如何将带有小数点右侧数字的值(如5.4321)插入表中。

0 投票
2 回答
10942 浏览

postgresql - 使用 Postgres 在 Rust 的 Diesel 库中添加时间戳

我今天一直在按照这个演练查看 Rust 的Diesel ORM,但我无法工作。Timestamp

货运.toml

模型.rs

(我读到有一种diesel::types::Timestamp类型)

库文件

但这些是我尝试使用它时遇到的错误:

看起来第一个错误Timestamptz是因为infer_schema不知道如何解释表中已经存在的 Postgresql 类型。至于第二个,我想也许如果显式导入该Timestamp类型,我可以用它创建一个Post结构。

我在这里做错了什么明显的事情吗?

顺便说一句,我对 Rust 很陌生,而 Diesel 使用了相当多的代码生成,所以很容易迷路,但我认为这应该是一件简单的事情。


编辑

我曾经timestamp with time zone创建表,看起来可能还不支持


编辑2:

我将models.rs更改为如下所示,并摆脱了Timestamp未定义的错误。我还意识到我需要#[derive(Queryable)]在每个结构之上派生。以下编译正常,但之前的错误Timestamptz仍然存​​在:

0 投票
1 回答
353 浏览

rust - Diesel 可以在运行时更改架构吗?

是否可以diesel在运行时监听和更改其架构?例如,如果在运行时添加表,我们可以table!在程序启动后检测更改并使用宏创建适当的表吗?

0 投票
0 回答
126 浏览

sql - 如何在 Diesel 中获取分层树结构?

我想使用 Diesel 创建一个 SQL 数据库。其中一个表将包含一个称为groups分层树结构的东西:一个组可以是根组,也可以有一个父组。每个组都应该有一个unique_id拥有它的用户和一个潜在的父母。

如何创建此结构,以便 Diesel 能够获取给定组下的整个树?如果可能的话,我将如何执行它?

我对 Web 开发很陌生,所以我不太了解如何实现我想要的。

0 投票
1 回答
605 浏览

rust - 无法开始使用diesel.rs 和Rust 1.16 nightly

我正在尝试通过直接从Diesel GitHub repo复制来遵循Diesel 入门指南,但我遇到了一些我无法修复的编译错误:examples/getting_started_step_3/

这是我的.env

我正在使用 Rust 1.16.0-nightly (df8debf6d 2017-01-25) 和 Diesel 0.9.0。

0 投票
1 回答
1620 浏览

rust - 使用动态参数查询 Diesel 表

我开始研究使用 Diesel 来查询数据库。我有一个类似于下面结构的表格(这只是一个玩具项目,可帮助我了解 Diesel 的工作原理)。

例如,在编译时进行完全确定的查询很容易

我不清楚的是如何根据一些运行时参数构建查询,而不必回退到 SQL。例如JSONAPI允许动态选择字段并根据查询参数对其进行排序。我将如何在 Diesel 中做到这一点?

0 投票
1 回答
1089 浏览

mysql - 使用 Diesel、r2d2 和 r2d2-diesel 查询数据库时出错

我已经使用连接池系统建立了一个系统,该系统利用柴油r2d2r2d2-diesel作为我的 Web 应用程序的 API 主机。我一直在关注这篇博客文章作为帮助我进行设置的基础。但是,我已经对我的数据库后端切换到 MySQL 进行了修改;我已经添加了必要的柴油功能,并认为这不是问题。

这是我用来设置连接池的代码(与博客文章中的非常相似):

我在设置数据库接口系统的过程中遇到了一个问题。当我通过柴油对数据库进行任何查询时,我收到以下错误:Err(DatabaseError(__Unknown, "Commands out of sync; you can\'t run this command now"))

我已经进行了一些研究,似乎在发送另一个查询之前尚未读取之前的查询时会发生此错误,这使我相信这可能是库错误。我检查了 MySQL 查询日志,除了在连接池中创建连接的查询之外,我没有看到任何查询。

我已经将我的错误减少到一个测试用例。以下响应我在上面粘贴的错误消息:

运行如下查询会产生相同的错误消息,但要简化为单个测试用例要困难得多:

我想这是我的一个实现错误,但这可能与我的数据库配置有关吗?我用于开发的数据库正在被超过 3 种语言和多个应用程序积极使用,没有问题,所以我对此表示怀疑。

0 投票
1 回答
99 浏览

rust - 将 Diesel 方法移动到其他目录

我正在遵循 Diesel 示例指南,我的项目看起来就像这样。我想更改它,以便cargo run --bin publish_post 1您使用cargo run并显示一个循环,提示您执行要运行的操作,而不是运行。

我已将所有内容移出bin/和移入controllers/目录。我想在main.rsas中引用它use controllers::post,所以我可以访问post::delete(),等等。

一旦我将文件移出bin/,所有导入都会中断。同样,我无法从lib.rs.

为什么移动文件后我的所有导入都不起作用?我如何从这些文件中访问方法?

我想要这样的结构:

在 内main.rs,我希望能够执行以下操作: