#proc-macro #orm #sqlx #procedural #string #table #maria-db

ormx

lightweight procedural macros bringing orm-like features to sqlx

23 releases

0.11.0 Sep 8, 2024
0.10.0 Sep 24, 2021
0.9.0 Sep 23, 2021
0.7.0 Mar 29, 2021
0.2.0 Nov 19, 2020

#1260 in Database interfaces

Download history 54/week @ 2024-09-12 61/week @ 2024-09-19 34/week @ 2024-09-26 7/week @ 2024-10-03 2/week @ 2024-10-10 1/week @ 2024-10-24 2/week @ 2024-11-07 2/week @ 2024-11-21 2/week @ 2024-11-28 14/week @ 2024-12-05 39/week @ 2024-12-12

53 downloads per month

MIT license

31KB
693 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–23MB
~360K SLoC