sql-orm 0.1.0

Public API crate for the sql-orm workspace.
Documentation
use sql_orm::prelude::*;

#[derive(Entity, Debug, Clone)]
#[orm(table = "users")]
struct User {
    #[orm(primary_key)]
    #[orm(identity)]
    id: i64,

    #[orm(length = 180)]
    email: String,
}

#[derive(DbContext, Debug, Clone)]
struct AppDbContext {
    pub users: DbSet<User>,
}

#[derive(TenantContext)]
struct CurrentTenant {
    tenant_id: i64,
}

#[derive(SoftDeleteFields)]
struct SoftDelete {
    #[orm(deleted_at)]
    deleted_at: Option<String>,
}

fn main() {
    let _connect = AppDbContext::connect;
    let _connect_with_options = AppDbContext::connect_with_options;
    let _connect_with_config = AppDbContext::connect_with_config;
    let _from_shared = AppDbContext::from_shared_connection;
    let _from_connection = AppDbContext::from_connection;
    let _with_audit_provider = AppDbContext::with_audit_provider;
    let _with_audit_request_values = AppDbContext::with_audit_request_values;
    let _clear_audit_request_values = AppDbContext::clear_audit_request_values;
    let _with_soft_delete_provider = AppDbContext::with_soft_delete_provider;
    let _with_soft_delete_request_values = AppDbContext::with_soft_delete_request_values;
    let _with_soft_delete_values = AppDbContext::with_soft_delete_values::<SoftDelete>;
    let _clear_soft_delete_request_values = AppDbContext::clear_soft_delete_request_values;
    let _with_tenant = AppDbContext::with_tenant::<CurrentTenant>;
    let _clear_tenant = AppDbContext::clear_tenant;
    let _shared_with_audit_provider = SharedConnection::with_audit_provider;
    let _shared_with_audit_request_values = SharedConnection::with_audit_request_values;
    let _shared_clear_audit_request_values = SharedConnection::clear_audit_request_values;
    let _shared_with_soft_delete_values = SharedConnection::with_soft_delete_values::<SoftDelete>;
    let _shared_with_tenant = SharedConnection::with_tenant::<CurrentTenant>;
    let _shared_clear_tenant = SharedConnection::clear_tenant;
    let _db_set: fn(&AppDbContext) -> &DbSet<User> =
        <AppDbContext as sql_orm::DbContextEntitySet<User>>::db_set;
    let _entity_metadata: fn() -> &'static [&'static sql_orm::EntityMetadata] =
        <AppDbContext as sql_orm::MigrationModelSource>::entity_metadata;
    let _options = MssqlOperationalOptions::new()
        .with_timeouts(MssqlTimeoutOptions::new())
        .with_pool(MssqlPoolOptions::bb8(8));
    let _config = MssqlConnectionConfig::from_connection_string_with_options(
        "server=tcp:localhost,1433;database=master;user=sa;password=Password123;TrustServerCertificate=true",
        MssqlOperationalOptions::new(),
    )
    .unwrap();
    let _transaction = AppDbContext::transaction::<
        fn(AppDbContext) -> std::future::Ready<Result<(), OrmError>>,
        std::future::Ready<Result<(), OrmError>>,
        (),
    >;
}