1个不稳定版本

0.0.1 2019年10月18日

#37#async-orm

30 每月下载量
sprattus 中使用

自定义许可证

19KB
475

sprattus,Postgres的异步Rust ORM

未来 .awaits

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/dellstore2?user=tg").await.unwrap();
    let fruit = Fruit{
        id: 0,
        name: String::from("apple")
    };
    let created_fruit = conn.create(fruit).await?;
    dbg!(created_fruit);
    Ok(())
}

请查看文档以获取更多信息。

依赖项

~1.5MB
~35K SLoC