1 个不稳定版本
0.0.1 | 2019年10月25日 |
---|
#26 在 #primary-key
32KB
328 行
Sprattus,一个异步 Rust ORM 用于 Postgres
Sprattus 是一个 crate,允许您使用 Rust 结构体轻松地在 Postgres 数据库上执行异步 CRUD 操作。
入门
将 sprattus 添加到您的 cargo.toml
sprattus = "0.0.1"
在 Postgres 中创建一个表
CREATE TABLE fruits(
id SERIAL PRIMARY KEY,
name VARCHAR NOT NULL
);
创建与创建的表相对应的结构体
struct Fruit {
id: i32,
name: String
}
最后添加 sprattus 宏和注解
use sprattus::*;
#[derive(ToSql, FromSql, Debug)]
#[sql(table = "fruits")]
struct Fruit {
#[sql(primary_key)]
id: i32,
name: String
}
现在您可以使用新创建的结构体与客户端一起使用了!
use tokio::prelude::*;
use sprattus::*;
#[derive(ToSql, FromSql)]
#[sql(table = "fruits")]
struct Fruit {
#[sql(primary_key)]
id: i32,
name: String
}
#[tokio::main]
async fn main() -> Result<(), Error>{
let conn = PGConnection::new("postgresql://127.0.0.1?user=postgres").await?;
let fruit = Fruit {
id: 0,
name: String::from("apple")
};
let created_fruit = conn.create(fruit).await?;
dbg!(created_fruit);
Ok(())
}
请参阅文档以获取更多参考。
名称
名称 sprattus 是名为 sprat 的鱼的属名。这个名字很合适,因为鲱鱼有群居行为
鲱鱼与其他鱼类以异步方式在大群中旅行,并且整天不停地游泳
依赖关系
~9–16MB
~225K SLoC