1 个不稳定版本

0.0.1 2019年10月25日

#26#primary-key

自定义许可

32KB
328

Sprattus,一个异步 Rust ORM 用于 Postgres

Build Status

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