#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

#2693 in Database interfaces

38 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

~10–20MB
~394K SLoC