Skip to main content

Crate alun_db

Crate alun_db 

Source
Expand description

Alun database: Row 模式 + 事务 RAII + Hook + SQL 模板

设计理念:

  1. Db + Row 模式 —— 无 Model 也可操作,字段追踪 + 类型安全
  2. 事务隐式提交 —— Rust 用 ? 天然保证永不“忘记回滚“
  3. Hook 生命周期 —— before/after 拦截 CRUD,支持审计/时间戳自动填充
  4. 配置驱动 —— 从 AppConfig 创建连接池,支持加密密码存储
  5. 多数据库支持 —— PostgreSQL / MySQL / SQLite,工厂按 type 自动选择

Re-exports§

pub use db::Db;
pub use row::Row;
pub use tx::ActiveTx;
pub use tx::Isolation;
pub use hook::Hook;
pub use hook::HookChain;
pub use hook::NullHook;
pub use sql::SqlTemplate;
pub use sql::SqlPara;
pub use dialect::Dialect;
pub use factory::create_db;
pub use factory::create_db_if_enabled;
pub use idkind::IdKind;

Modules§

db
dialect
factory
数据库工厂:从 DatabaseConfig 创建连接池
hook
数据库 Hook:生命周期拦截(before/after 拦截 CRUD)
idkind
migrate
数据库迁移工具 —— 对标 aifei 的 Generator.sql 迁移
row
sql
SQL 模板:Jinja2 风格的动态 SQL 拼接
tx
事务:真正的 Commit/Rollback,编译期保证永不“忘记回滚“

Structs§

PageQuery
分页查询参数(公共类型,所有 crate 可用)

Enums§

DbError
alun-db 错误

Type Aliases§

DbResult