Crate ormx

source ·
Expand description

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.

Macros§

Traits§

  • A type which can be inserted as a row into the database.
  • A type which can be used to “patch” a row, updating multiple fields at once.
  • A database table in which each row is identified by a unique ID.

Type Aliases§

Derive Macros§

  • Derives Patch.
  • Derives Table and generates a struct for inserting rows and accessors to certain fields.