1 个不稳定版本
0.1.0 | 2024年2月3日 |
---|
#986 在 数据库接口
每月 44 次下载
135KB
3K SLoC
surreal_use
基于Surrealdb库的扩展库,帮助用户更方便地开发
________ ___ ___ ________ ________ _______ ________ ___ ___ ___ ________ _______
|\ ____\|\ \|\ \|\ __ \|\ __ \|\ ___ \ |\ __ \|\ \ |\ \|\ \|\ ____\|\ ___ \
\ \ \___|\ \ \\\ \ \ \|\ \ \ \|\ \ \ __/|\ \ \|\ \ \ \ \ \ \\\ \ \ \___|\ \ __/|
\ \_____ \ \ \\\ \ \ _ _\ \ _ _\ \ \_|/_\ \ __ \ \ \ \ \ \\\ \ \_____ \ \ \_|/__
\|____|\ \ \ \\\ \ \ \\ \\ \ \\ \\ \ \_|\ \ \ \ \ \ \ \____ \ \ \\\ \|____|\ \ \ \_|\ \
____\_\ \ \_______\ \__\\ _\\ \__\\ _\\ \_______\ \__\ \__\ \_______\\ \_______\____\_\ \ \_______\
|\_________\|_______|\|__|\|__|\|__|\|__|\|_______|\|__|\|__|\|_______| \|_______|\_________\|_______|
\|_________| \|_________|
- 作者:[email protected]
- 创建日期:20240115
- 更新日期:20240127
- 版本:0.1.0
- 电子邮件:[email protected]
surreal_use做什么
- 分离数据库配置和代码
- 减少手动编写SurrealQL语句
- 执行差异化的API查询
- 轻松执行复杂查询
- 使用户能够与Surrealdb库无缝集成
快速入门
编写surrealdb.config.json
{
"endpoint":"127.0.0.1",
"port":10086,
"auth":{
"user":"root",
"pass":"root"
}
}
使用surreal_use
use lazy_static::lazy_static;
use surreal_use::{
config::{auth::Root, parser::Parsers, AuthBridger},
core::Stmt,
};
use surrealdb::{
engine::remote::ws::{Client, Ws},
Surreal,
};
// use lazy static macro
lazy_static! {
static ref DB: Surreal<Client> = Surreal::init();
}
#[tokio::main]
async fn main() -> surrealdb::Result<()> {
// Using seasonal_ Use to obtain the configuration of surrealdbunconfig.json under the project package
let config = Parsers::Json.parse_to_config(None);
DB.connect::<Ws>(config.url()).await?;
// transfer to credential Root
let credentail: Root = config.get_auth().into();
// Sigin use Root
// Return Jwt struct
let _ = DB.signin(credentail.to_lower_cast()).await?;
let _ = DB.use_ns("test").use_db("test").await?;
let select = Stmt::select().table("user".into()).field_all().to_string();
let query = DB.query(&select).await?;
dbg!(query);
Ok(())
}
注意
使用与surrealdb库同名的大量结构,作为源库的扩展存在
特性
- select
- update
- insert
- delete
- create
- use
- begin
- break
- cancel
- commit
- continue
- define
- for
- if
- info
- kill
- let
- live select
- relate
- remove
- return
- show
- sleep
- throw
依赖项
~44–59MB
~1M SLoC