#sqlx #macro #table #bringing #mysql #patch #postgresql

ormx

lightweight procedural macros bringing orm-like features to sqlx

22 releases (8 breaking)

0.10.0 Sep 24, 2021
0.8.0 Sep 21, 2021
0.7.0 Mar 29, 2021
0.2.0 Nov 19, 2020

#2612 in Database interfaces

Download history 84/week @ 2024-02-25 11/week @ 2024-03-03 15/week @ 2024-03-10 10/week @ 2024-03-17 30/week @ 2024-03-31 5/week @ 2024-04-07 36/week @ 2024-04-14 17/week @ 2024-04-21 9/week @ 2024-04-28

72 downloads per month

MIT license

28KB
665 lines

ormx

please take a look at the repository and the documentation


lib.rs:

Lightweight derive macros for bringing orm-like features to sqlx.

Example: Table

#[derive(ormx::Table)]
#[ormx(table = "users", id = user_id, insertable)]
struct User {
    #[ormx(column = "id")]
    user_id: u32,
    first_name: String,
    last_name: String,
    #[ormx(get_optional(&str))]
    email: String,
    #[ormx(default, set)]
    last_login: Option<NaiveDateTime>,
}

Example: Patch

#[derive(ormx::Patch)]
#[ormx(table_name = "users", table = User, id = "id")]
struct UpdateName {
    first_name: String,
    last_name: String,
}

Documentation

See the docs of derive(Table) and Patch.

Dependencies

~9–18MB
~419K SLoC