rullst-orm 6.0.3

An Active Record ORM for Rust.
Documentation
use rullst_orm::_sqlx::FromRow;

#[derive(rullst_orm::Orm, Debug, Clone, PartialEq, FromRow)]
#[orm(table_name = "test_mutants")]
#[orm(soft_delete)]
struct MutantModel {
    id: i32,
    name: String,
    deleted_at: Option<String>,
}

#[tokio::test]
async fn test_mutant_macro_generation() {
    // 1. generate_column_enum
    // If the enum generation was deleted (models.rs#L53), this wouldn't compile.
    let _col = MutantModelColumn::Name;

    // 2. build_soft_delete_set_clause (builder.rs#L145)
    // 3. generate_delete_all_logic (builder.rs#L88)
    // generate_execution_methods (builder.rs#L919)
    // Just verifying compilation of the generated query builder methods.
    // We don't actually run them here.

    // Check factory / observer generation (factory_observer.rs#L6)
    // If deleted, `.observe` won't exist.
    struct MyObserver;
    #[async_trait::async_trait]
    impl MutantModelObserver for MyObserver {}
    MutantModel::observe(std::sync::Arc::new(MyObserver));
}