#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

#1022 in Database interfaces

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

~11–25MB
~390K SLoC