Skip to main content

Crate wae_database

Crate wae_database 

Source
Expand description

§WAE Database - 数据库服务抽象层

提供统一的数据库操作抽象,基于 Turso (Limbo) 后端实现。 Turso 是一个用 Rust 重写的 SQLite 兼容数据库,支持异步 I/O。

§ORM 功能

  • Entity trait: 定义数据库实体
  • FromRow/ToRow trait: 行映射
  • 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);
}

§支持的数据库

数据库驱动
PostgreSQLsqlx-postgres
MySQLsqlx-mysql
SQLitesqlx-sqlite

Modules§

col
列类型快捷构造函数

Macros§

entity_fields
实体字段定义宏辅助
impl_from_row
自动实现 FromRow 的宏
impl_to_row
自动实现 ToRow 的宏

Structs§

ColumnDef
列定义
DatabaseService
Turso 数据库服务
DbRepository
基于数据库连接的仓储实现
DeleteBuilder
DELETE 查询构建器
ForeignKeyDef
外键定义
IndexDef
索引定义
InsertBuilder
INSERT 查询构建器
Join
JOIN 定义
QueryBuilder
查询构建器入口
SelectBuilder
SELECT 查询构建器
TableSchema
表结构定义
TursoConnection
Turso 连接包装
UpdateBuilder
UPDATE 查询构建器

Enums§

ColumnType
列类型
Condition
查询条件
DatabaseBackend
数据库后端类型
DatabaseConfig
数据库配置枚举
DatabaseRow
查询结果行
DatabaseRows
查询结果集迭代器
DatabaseStatement
预处理语句
JoinType
JOIN 类型
ReferentialAction
外键引用行为
Value
动态值类型

Traits§

BelongsTo
一对多关系的反向 trait
DatabaseConnection
数据库连接抽象
Entity
数据库实体 trait
FromDatabaseValue
从数据库值转换的 trait
FromRow
从数据库行解析实体
HasMany
一对多关系 trait
ManyToMany
多对多关系 trait
Repository
仓储 trait - 提供 CRUD 操作
ToRow
将实体转换为数据库行

Type Aliases§

DatabaseError
数据库错误类型
DatabaseResult
数据库操作结果类型