问题标签 [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.
asynchronous - 总是返回 Ok HttpResponse 然后在 actix-web 处理程序中工作
我有一个处理程序来启动密码重置。它总是返回成功的 200 状态码,因此攻击者无法使用它来找出数据库中存储了哪些电子邮件地址。问题是,如果数据库中有一封电子邮件,则需要一段时间才能完成请求(阻止用户查找并发送带有重置令牌的实际电子邮件)。如果用户不在数据库中,请求会很快返回,因此被攻击者会知道电子邮件不存在。
在后台处理请求时,我将如何立即返回 HTTP 响应?
rust - 如何在柴油中实现嵌套过滤器?
我对 Rust 和 Diesel 很陌生。我现在正在尝试为这样的查询实现 Diesel 过滤:
在文档和网络上进行一些搜索后,我仍然找不到如何执行此操作。我最接近的猜测是:
有人有想法吗?
谢谢!
mysql - 如何在柴油 model.rs 中用空格编写列名?
我正在尝试使用Diesel
来管理我的数据库以供使用Rocket
,但我一直在为我的表编写 models.rs:
在这里,我对如何在models.rs 的struct 中为带有空格的column_names 编写标识符感到困惑。
我指的是 Diesel 和 RUST 的官方指南。
mysql - diesel_cli 设置返回有关 DATABASE_URL 的错误
我正在尝试设置Diesel-CLI
,但它总是返回一些关于DATABASE_URL的错误。
对于这个问题,我们假设:
- 用户=根
- 密码=#Abcd1234
- 主机=本地主机
- 数据库=codeforces
- mysql服务器socket=/var/lib/mysql/mysql.sock/
错误:未知的 MySQL 服务器主机 'root' (-2)
错误:无法通过套接字'/run/mysql/mysql.sock'连接到本地MySQL服务器(2)
错误:用户 'root'@'localhost' 的访问被拒绝(使用密码:否)
错误:未知的 MySQL 服务器主机 'root' (-2)
我试过用谷歌搜索它,但到目前为止没有结果。我不知道我在哪里犯错误。
所以我的问题是:
如何解决这个错误?
caching - rust-diesel 上没有缓存
我使用 MySQL 作为我的数据库,并使用柴油来检索数据。数据每秒从多个端点更新。问题是在使用柴油检索数据时,我得到的结果已经过时(可能是由于柴油端的缓存)。MySQL 使用 运行SET GLOBAL query_cache_size = 0
,因此数据库服务器端没有活动缓存。
这是我检索数据的代码部分:
你知道我怎样才能停用柴油机上的缓存吗?
sql - 如何使用 Diesel 在列中获取最小值的行?
如何使用 Diesel ORM 获得最小值的行?我希望它生成一个看起来像这样的查询
rust - Diesel:BoxableExpressions 通用表及其连接?
我正在尝试在运行时构建一些过滤器,这些过滤器可以应用于表格tunnel
或tunnel LEFT OUTER JOIN connection ON (tunnel.id = connection.tunnel_id)
.
表定义如下:
我可以编写一个为单个表构造动态的函数:
或加入:
请注意,这两个过滤器函数具有完全相同的函数体,因此我应该能够创建一个通用函数来实现它们。但是当我尝试使其通用时出现错误。
错误是
此处的最小示例,您可以克隆该最小示例并cargo check
自己运行以查看错误。
module - 引用兄弟模块(例如 Diesel 生成的模式)的正确方法是什么?
我正在构建一个使用 Diesel 访问 MySQL 数据库的 Web 服务。一切都设置正确,Diesel 正在生成schema.rs
包含反映我的数据库模式的内容的文件:
我创建了一个store.rs
位于main.rs
. 如果我对模块的理解是正确的,那么我放入store.rs
文件中的任何代码都将属于一个名为store
该模块的子crate
模块。我的目的是将所有处理数据库内容的代码放在store
模块中。但是,我似乎无法use
从schema
我的模块中的store
模块开始使用 Diesel API 进行一些查询。
我试过了:
use schema;
use crate::schema;
use super::schema;
use super::schema::user;
没有任何效果。编译器总是说它无法解析路径的一部分或另一部分。
在 Rust 中引用兄弟模块的正确方法是什么?
mysql - 为什么 rustc 没有将 libmariadb 包含到发布二进制文件中?
我认为 rust 编译器使用静态绑定并在编译时包含所有依赖库(因此可执行文件大小)。
但是,当我尝试在带有 actix、mysql 客户端和启用了 mysql 功能的柴油机中使用已编译的二进制文件时,会弹出此错误:
我的码头文件:
我的货物:
但是如果我使用 ubuntu/debian/etc。图像作为运行时并安装libmariadb-dev-compat libmariadb-dev
一切都很好。有没有办法在 Rust 中使用 mysql 连接器获得真正的单一二进制文件?