SkillAgentSearch skills...

Sprattus

An async ORM for Postgres

Install / Use

/learn @dutchmartin/Sprattus
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Sprattus, a async Rust ORM for Postgres

Build Status Documentation

Sprattus is a crate that let's you easily do async CRUD operations on your Postgres database with Rust structs.

Getting started

Add sprattus to your cargo.toml:

sprattus = "0.0.1"

Create a table in Postgres:

CREATE TABLE fruits(
   id SERIAL PRIMARY KEY,
   name VARCHAR NOT NULL
);

Create a struct corresponding to the created table:

struct Fruit {
    id: i32,
    name: String
}

And finally add the sprattus macro's and annotations:

use sprattus::*;

#[derive(ToSql, FromSql, Debug)]
#[sql(table = "fruits")]
struct Fruit {
    #[sql(primary_key)]
    id: i32,
    name: String
}

And now you're ready to use the client in combination with you freshly created struct!

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

Please check out the docs for further reference.

name

The name sprattus is the genus of the fish named sprat. It is a fitting name because of the schooling behavour of the sprat:

Sprats travel asynchronous from each other in large schools with other fish and swim continuously throughout the day

Related Skills

View on GitHub
GitHub Stars18
CategoryData
Updated1mo ago
Forks2

Languages

Rust

Security Score

95/100

Audited on Feb 23, 2026

No findings