119个版本 (31个破坏性更新)
0.33.4 | 2024年1月25日 |
---|---|
0.33.2 | 2023年11月24日 |
0.31.8 | 2023年7月11日 |
0.16.2 | 2023年3月31日 |
#620 在 网络编程
每月548次下载
用于 2 crate
77KB
1.5K SLoC
Rust libSQL客户端库
libSQL Rust客户端库可以用于通过HTTP协议和原生Rust接口与sqld进行原生通信。
目前库支持以下后端
- 本地
- reqwest
- hrana
- Cloudflare Workers环境(可选)
快速入门
为了在项目中使用数据库,只需调用libsql_client::Client::from_env()
,或任何其他构造函数
let db = libsql_client::Client::from_env().await?;
您需要提供的只是包含数据库URL的环境变量,例如
export LIBSQL_CLIENT_URL="file:////tmp/example.db"
对于存储在文件中的本地数据库
export LIBSQL_CLIENT_URL="https://example.turso.io"
对于远程数据库连接
您还可以显式使用特定的后端。下一段将介绍如何进行示例。
本地
为了连接到数据库,设置URL指向本地路径
export LIBSQL_CLIENT_URL = "/tmp/example.db"
local_backend
功能默认启用,因此添加依赖项如下
cargo add libsql-client
如何连接到数据库并执行查询的示例
let db = libsql_client::local::Client::from_env()?;
let response = db
.execute("SELECT * FROM table WHERE key = 'key1'")
.await?;
(...)
Cloudflare Workers
为了连接到数据库,请在.dev.vars
中设置以下变量,或将它们注册为秘密
LIBSQL_CLIENT_URL = "https://your-db-url.example.com"
LIBSQL_CLIENT_TOKEN = "<your-jwt>"
启用workers_backend
后端将其添加为依赖项。关闭默认功能,因为它们不能保证编译到wasm32-unknown-unknown
,这是此环境所需的
cargo add libsql-client --no-default-features -F workers_backend
从GET处理器连接到数据库并执行查询的示例
router.get_async("/", |_, ctx| async move {
let db = libsql_client::workers::Client::from_ctx(&ctx).await?;
let response = db
.execute("SELECT * FROM table WHERE key = 'key1'")
.await?;
(...)
依赖项
~5–23MB
~340K SLoC