Expand description
§WAE Database - 数据库服务抽象层
提供统一的数据库操作抽象,基于 Turso (Limbo) 后端实现。 Turso 是一个用 Rust 重写的 SQLite 兼容数据库,支持异步 I/O。
§ORM 功能
Entitytrait: 定义数据库实体FromRow/ToRowtrait: 行映射QueryBuilder: 查询构建器Repository: CRUD 操作
§Schema 功能
TableSchema: 表结构定义ColumnDef: 列定义IndexDef: 索引定义
§值类型统一
本模块统一使用 wae_types::Value 作为值类型,
内部自动转换为数据库原生类型。
数据库模块 - 提供统一的数据库抽象层。
§主要功能
- 多数据库支持: 支持 PostgreSQL、MySQL、SQLite
- 连接池: 内置连接池管理
- 事务支持: 支持数据库事务
- 迁移工具: 集成数据库迁移
§技术栈
- ORM: SeaORM
- 连接池: sea-orm
- 异步运行时: Tokio
§使用示例
use wae_database::Value;
fn main() {
let value = Value::String("hello".to_string());
println!("{:?}", value);
}§支持的数据库
| 数据库 | 驱动 |
|---|---|
| PostgreSQL | sqlx-postgres |
| MySQL | sqlx-mysql |
| SQLite | sqlx-sqlite |
Modules§
- col
- 列类型快捷构造函数
Structs§
- Column
Def - 列定义
- Database
Link Config - 数据库链接配置(保留向后兼容)
- Database
Schema - 数据库 schema 定义
- Foreign
KeyDef - 外键定义
- Index
Def - 索引定义
- Schema
Config - 完整的 schema 配置(包含多个数据库)
- Table
Schema - 表结构定义
Enums§
- Column
Type - 列类型
- Database
Type - 数据库类型
- Referential
Action - 外键引用行为
- Value
- 动态值类型
Functions§
- auto_
export_ schemas - 在 debug 模式下自动导出 schema 到默认路径
- clear_
schemas - 清空注册表
- create_
schema_ config_ from_ registered - 从已注册的 schemas 创建 SchemaConfig(将所有表放在默认数据库中)
- export_
schema_ config_ to_ yaml - 将 SchemaConfig 导出为 YAML 字符串
- export_
schema_ config_ to_ yaml_ file - 将 SchemaConfig 导出到 YAML 文件
- export_
schemas_ to_ yaml - 将所有已注册的 TableSchema 导出为 YAML 字符串
- export_
schemas_ to_ yaml_ file - 将所有已注册的 TableSchema 导出到 YAML 文件
- export_
sql_ for_ all_ databases - 导出所有数据库类型的 SQL 到文件
- generate_
full_ sql_ for_ registered_ schemas - 为所有已注册的 schema 生成完整的 SQL(使用当前数据库类型)
- generate_
full_ sql_ for_ registered_ schemas_ for - 为所有已注册的 schema 生成完整的 SQL(指定数据库类型)
- get_
registered_ schemas - 获取所有已注册的 TableSchema
- get_
schema - 获取指定名称的 TableSchema
- load_
and_ register_ schemas_ from_ yaml_ file - 从 YAML 文件加载并注册所有 TableSchema(兼容旧格式)
- load_
schema_ config_ from_ yaml - 从 YAML 字符串解析 SchemaConfig
- load_
schema_ config_ from_ yaml_ file - 从 YAML 文件加载 SchemaConfig
- load_
schemas_ from_ yaml - 从 YAML 字符串解析 TableSchema 列表(兼容旧格式)
- load_
schemas_ from_ yaml_ file - 从 YAML 文件加载 TableSchema 列表(兼容旧格式)
- register_
schema - 注册 TableSchema 到全局注册表
- register_
schemas - 批量注册 TableSchema 到全局注册表