ormlite 0.24.3

An ORM for people who love SQL
Documentation
#[path = "../setup.rs"]
mod setup;

use ormlite::model::*;
use ormlite::Connection;
use sql::ToSql;
use uuid::Uuid;

#[derive(Model)]
pub struct Person {
    id: Uuid,
    name: String,
    age: u8,
}


#[tokio::main]
async fn main() {
    let mut db = ormlite::sqlite::SqliteConnection::connect(":memory:")
        .await
        .unwrap();
    let migration = setup::migrate_self(&[file!()]);
    for s in migration.statements {
        let sql = s.to_sql(sql::Dialect::Sqlite);
        ormlite::query(&sql)
            .execute(&mut db)
            .await
            .unwrap();
    }

    let p = Person {
        id: Uuid::new_v4(),
        name: "John".to_string(),
        age: 99,
    }.insert(&mut db)
        .await
        .unwrap();

    let p = p.update_partial()
        .age(100)
        .update(&mut db)
        .await
        .unwrap();

    assert_eq!(p.age, 100);
}