Rust sqlx:没有查询终结器
Rust sqlx: there is no query finalizers
问题是当我输入这样的代码时。
let data = sqlx::query("SELECT id, name FROM test")
.fetch_all(&pool)
.await;
我收到 no method named `fetch_all` found for struct `sqlx_core::query::Query<'_, _>` in the current scope
错误。关注官方getting started readme。
这也适用于 query_as
方法。我怀疑由于某种原因编译器没有“看到”sqlx::Query
特征方法,但我不知道如何将它们引入范围。
虽然当我使用宏 sqlx::query!
时,.fetch_all
确实存在。
此外,rust-analyzer
LSP 告诉我 data
变量的类型是 std::result::Result<[type error], [type error]>
,这给我带来了不便,这消除了使用自动完成和类型检查的任何可能性,其他比 运行(出了名的慢)rust 编译器。
P.S。我使用 PostgreSQL 作为数据库解决方案,如果有帮助的话。
P.S.S. env 变量 DATABASE_URL 在编译时设置并且是正确的,因此宏会完成所有编译时验证工作。
稍微浏览了一下 docs.rs,我发现类型 sqlx::Query
除了 fetch
之外甚至没有终结器。至于sqlx::query_as
,我要找的trait叫做PgQueryAs
,里面其实有fetch_all
、fetch_optional
、fetch_one
等,加上use sqlx::postgress::PgQueryAs
为我解决了这个问题。
尽管如此,我仍然不知道在 IDE.
中评估宏以获得合适类型的解决方案
问题是当我输入这样的代码时。
let data = sqlx::query("SELECT id, name FROM test")
.fetch_all(&pool)
.await;
我收到 no method named `fetch_all` found for struct `sqlx_core::query::Query<'_, _>` in the current scope
错误。关注官方getting started readme。
这也适用于 query_as
方法。我怀疑由于某种原因编译器没有“看到”sqlx::Query
特征方法,但我不知道如何将它们引入范围。
虽然当我使用宏 sqlx::query!
时,.fetch_all
确实存在。
此外,rust-analyzer
LSP 告诉我 data
变量的类型是 std::result::Result<[type error], [type error]>
,这给我带来了不便,这消除了使用自动完成和类型检查的任何可能性,其他比 运行(出了名的慢)rust 编译器。
P.S。我使用 PostgreSQL 作为数据库解决方案,如果有帮助的话。
P.S.S. env 变量 DATABASE_URL 在编译时设置并且是正确的,因此宏会完成所有编译时验证工作。
稍微浏览了一下 docs.rs,我发现类型 sqlx::Query
除了 fetch
之外甚至没有终结器。至于sqlx::query_as
,我要找的trait叫做PgQueryAs
,里面其实有fetch_all
、fetch_optional
、fetch_one
等,加上use sqlx::postgress::PgQueryAs
为我解决了这个问题。
尽管如此,我仍然不知道在 IDE.
中评估宏以获得合适类型的解决方案