yang-db 0.1.1

个人使用数据库操作
Documentation

yang-db

YANG 数据库操作库,提供类型安全的 MySQL 查询构建器。

功能特性

  • 链式调用 API,提供流畅的开发体验
  • 基于 sqlx 的异步数据库操作
  • 类型安全,编译时捕获错误
  • 防止 SQL 注入,使用参数化查询
  • 支持事务管理
  • 完善的错误处理和中文错误消息

依赖

  • sqlx: 异步 SQL 工具包,支持 MySQL
  • tokio: 异步运行时
  • serde: 序列化/反序列化
  • thiserror: 错误处理
  • chrono: 日期时间处理
  • log: 日志记录

模块结构

  • database: 数据库连接管理
  • query_builder: 查询构建器
  • condition: 查询条件和 SQL 值类型
  • field: 字段类型和 JOIN/ORDER 子句
  • transaction: 事务管理
  • error: 错误类型定义
  • init: 数据库初始化

核心类型

DbError

统一的错误类型,包含:

  • ConnectionError: 连接错误
  • QueryError: 查询错误
  • SqlSyntaxError: SQL 语法错误
  • ConstraintError: 约束错误
  • TypeConversionError: 类型转换错误
  • SerializationError: 序列化错误
  • DeserializationError: 反序列化错误
  • TransactionError: 事务错误
  • TableNotFound: 表不存在
  • MissingWhereClause: 缺少 WHERE 条件
  • Unknown: 未知错误

SqlValue

SQL 值类型枚举,支持:

  • Null: NULL 值
  • Bool: 布尔值
  • Int: 整数(i64)
  • Float: 浮点数(f64)
  • String: 字符串
  • Bytes: 字节数组
  • Json: JSON 值
  • DateTime: 日期时间
  • Timestamp: 时间戳

FieldType

字段类型标记:

  • Standard: 标准类型
  • Json: JSON 类型
  • DateTime: DATETIME 类型
  • Timestamp: TIMESTAMP 类型
  • Decimal: DECIMAL 类型
  • Blob: BLOB 类型
  • Text: TEXT 类型

开发状态

当前已完成:

  • ✅ 项目结构设置
  • ✅ 核心类型定义
  • ✅ 依赖配置
  • ✅ 基础单元测试

待实现功能:

  • 查询构建和执行
  • CRUD 操作
  • 事务管理
  • JOIN 查询
  • 聚合函数
  • 原生 SQL 支持

测试

运行测试:

cargo test --lib

代码质量

# 检查代码

cargo check


# 代码格式化

cargo fmt


# 代码检查

cargo clippy --all-targets -- -D warnings