1pub mod db;
12pub mod row;
13pub mod tx;
14pub mod hook;
15pub mod sql;
16pub mod dialect;
17pub mod factory;
18pub mod migrate;
19pub mod idkind;
20
21pub use db::Db;
22pub use alun_core::PageQuery;
23pub use row::Row;
24pub use tx::{ActiveTx, Isolation};
25pub use hook::{Hook, HookChain, NullHook};
26pub use sql::{SqlTemplate, SqlPara};
27pub use dialect::Dialect;
28pub use factory::{create_db, create_db_if_enabled};
29pub use idkind::IdKind;
30
31#[derive(Debug, thiserror::Error)]
33pub enum DbError {
34 #[error("数据库错误: {0}")]
35 Sqlx(#[from] sqlx::Error),
36
37 #[error("序列化错误: {0}")]
38 Serde(#[from] serde_json::Error),
39
40 #[error("参数错误: {0}")]
41 Argument(String),
42
43 #[error("事务回滚: {0}")]
44 Rollback(String),
45
46 #[error("{0}")]
47 Other(String),
48}
49
50pub type DbResult<T> = Result<T, DbError>;