问题标签 [rust-sqlx]
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 - 如何在 sqlx rust 中运行嵌套查询?
我想在 sqlx 中运行嵌套查询。这是我尝试过的:
但它给了我以下错误......
postgresql - Rust sqlx:没有查询终结器
问题是当我输入这样的代码时。
我得到一个no method named `fetch_all` found for struct `sqlx_core::query::Query<'_, _>` in the current scope
错误。以下官方入门自述文件。这也适用于该query_as
方法。我怀疑由于某种原因编译器没有“看到”sqlx::Query
特征方法,但我不知道如何将它们纳入范围。
虽然当我使用宏时sqlx::query!
,.fetch_all
确实存在。
此外,rust-analyzer
LSP 告诉我data
变量的类型是 存在一个不便std::result::Result<[type error], [type error]>
,这消除了使用自动完成和类型检查的任何可能性,除了运行(众所周知的慢)锈编译器。
PS 我使用 PostgreSQL 作为数据库解决方案,如果有帮助的话。
PSS env 变量 DATABASE_URL 在编译时设置并且是正确的,因此宏会执行所有编译时验证工作。
postgresql - 错误:无法连接到数据库:Rust 中的密码验证失败
我正在尝试使用sqlx
crate 和 Postgres 数据库连接到 Rust 中的数据库。
main.rs
:
这是我的.env
文件:
错误日志:
笔记:
- 存在一个名为 的数据库
twitter
。 - 我已经包含
macros
了 sqlx 的依赖项
我是否缺少用于连接数据库的某种级别的身份验证?我在宏的文档中找不到它sqlx::Query
rust - 有没有办法在 `sqlx::query!()" 中使用动态查询
上下文:rust,库 sqlx
问题:如何从较小的部分组成类似的查询,而不会丢失类型检查?
文档说:
查询必须是字符串文字,或者使用 + 连接字符串文字(对宏生成的查询很有用),否则它不能被内省(因此不能是动态的或另一个宏的结果)。
您可以看到它说“对宏生成的查询有用”(尽管稍后“不能是另一个宏的结果”)
我要解决的问题是,根据条件,我想运行不同但相似(例如,它们都有相同的列)查询,并且我想从较小的可重用部分组成查询[
rust - 我们如何在 sqlx rust 中定义一个 jsonb 和 UUID 字段?
我有一个 Postgres 表,其中包含三个字段
,id
即一个字段和一个 uuid字段。bigserial
meta
jsonb
UUID
我将sqlx
ORM 用于Rust
. 虽然我明白我必须添加
在那之后我无法弄清楚如何进行
rust - 如何重用 sqlx::Executor?
我正在尝试使用 SQLX 在 Rust 中开发一个应用服务器作为后端存储。它适用于具有一些特殊默认行为的原始 CMS,即:如果找不到页面,则使用一些空白内容自动生成它。我希望能够重用调用 SQL 的函数,所以我希望它们采用实现sqlx::Executor
特征的类型,包括&mut sqlx::Connection
、&mut sqlx::pool::PoolConnection
和&mut sqlx::Transaction
.
每个调用数据库的函数都很好用!
但是,似乎我无法重用执行程序。在我确定页面不存在后调用此函数;我创建了一个事务并使用 an&mut Transaction
作为e
参数调用它:
这就是 Rust (1.46) 所说的:
我知道e
是参考,参考是Copy
. 但我似乎无法让 Rust 相信这一点,我也不知道为什么。这是我在同一范围内使用impl Executor
两次的唯一功能,但我相信随着时间的推移我会发现更多。请帮忙?
postgresql - 我无法捕获数据库引用
我正在尝试使用 Actix-web、async-grahpql 和 sqlx 和 postgresql 创建一个 API
在QueryRoot
async-graphql 中,我试图捕获数据库的引用并使用 sqlx 对数据库进行查询,但它给了我一个错误
在这里我想捕获参考
在这里我定义了引用
我究竟做错了什么?完整的代码可以在这里找到。
mysql - 如何在 sqlx 中构建和提交多查询事务?
在sqlx中有一种Transaction
类型可以让您在一个事务中运行多个查询。
我试图弄清楚如何做到这一点,遗憾的是没有记录,尽管有自动生成的 API 文档。
我的第一次尝试:
产生以下错误:
我真的不知道从哪里开始考虑这个问题——但我无法从自动生成的 API 文档中找到答案。
rust - 如何在 Rust 中使用 `sqlx` 和 `juniper` 订阅?
背景:
我无法sqlx
与juniper
订阅集成。
我Pin<Box<dyn Stream<Item = Result<User, sqlx::Error>> + 'e + Send>>
从sqlx::query::QueryAs::fetch()
.
juniper
需要订阅返回为Pin<Box<dyn Stream<Item = Result<User, juniper::FieldError>> + Send>>
.
注意从Result<User, sqlx::Error>
到的变化Result<User, juniper::FieldError>
。使用map_err()
fromfutures::TryStreamExt
,我创建了以下代码来执行查询并转换错误类型。
这在编译时失败并出现以下错误:
我对Stream
s 或生命周期不够熟悉,无法理解此错误的含义。在进一步研究之后,这似乎ref_e
是订阅对juniper
's的引用的生命周期Executor
。
尝试:
- 提供生命周期,
juniper::Context
如graphql-rust/juniper#143中所述。 - 更高等级的特征界限
版本:
sqlx-0.4.1
juniper
cd66bdb
固定承诺master