pub mod db;
pub mod row;
pub mod tx;
pub mod hook;
pub mod sql;
pub mod dialect;
pub mod factory;
pub mod migrate;
pub mod idkind;
pub use db::Db;
pub use alun_core::PageQuery;
pub use row::Row;
pub use tx::{ActiveTx, Isolation};
pub use hook::{Hook, HookChain, NullHook};
pub use sql::{SqlTemplate, SqlPara};
pub use dialect::Dialect;
pub use factory::{create_db, create_db_if_enabled};
pub use idkind::IdKind;
#[derive(Debug, thiserror::Error)]
pub enum DbError {
#[error("数据库错误: {0}")]
Sqlx(#[from] sqlx::Error),
#[error("序列化错误: {0}")]
Serde(#[from] serde_json::Error),
#[error("参数错误: {0}")]
Argument(String),
#[error("事务回滚: {0}")]
Rollback(String),
#[error("{0}")]
Other(String),
}
pub type DbResult<T> = Result<T, DbError>;