ormer 0.1.11

An ORM framework with a usage style similar to Linq, supporting Sqlite, PostgresQL, MySQL, MSSQL
Documentation
pub mod abstract_layer;
pub mod hooks;
pub mod model;
pub mod query;

// 编译时检查:至少启用一个数据库特性(已移除,允许无特性编译)
// #[cfg(not(any(feature = "sqlite", feature = "postgresql", feature = "mysql", feature = "mssql")))]
// compile_error!("At least one database feature must be enabled: sqlite, postgresql, mysql, or mssql");

pub use abstract_layer::DbType;

// 数据库相关类型 - 当启用任一数据库 feature 时可用
#[cfg(any(
    feature = "sqlite",
    feature = "postgresql",
    feature = "mysql",
    feature = "mssql"
))]
pub use abstract_layer::{
    ConnectionPool, CreateTableExecutor, Database, DeleteExecutor, DropTableExecutor,
    MappedCollectFuture, MappedSelectExecutor, ModelCollectWithFuture, PooledConnection,
    SelectStream, SelectStreamIterator, Transaction,
};
pub use anyhow::Result;
pub use model::{
    AfterDelete, AfterInsert, AfterUpdate, BeforeDelete, BeforeInsert, BeforeUpdate, FromRowValues,
    FromSingleValue, FromValue, Insertable, Model, ModelEnum, ModelEnumProvider, Row, Value,
    generate_create_table_sql, generate_create_table_sql_with_name,
};
pub use ormer_derive::{Model, ModelEnum};
pub use query::builder::{
    AgeColumn, GroupByColumns, GroupedSelect, InnerJoinedSelect, IsInValue, IsInValues,
    LeftJoinedSelect, MapToResult, MappedSelect, MultiTableSelect, NumericColumn, RelatedSelect,
    RightJoinedSelect, Select, SelectColumnResult, SubqueryParam, WhereColumn, WhereExpr,
};
pub use query::filter::{FilterExpr, OrderBy, OrderDirection};