数据库知识体系概览
答案
Rust 数据库生态提供了从原始 SQL 到 ORM 的多层方案。
方案对比
| 特性 | SQLx | Diesel | SeaORM |
|---|---|---|---|
| 异步 | ✅ 原生 | ❌ 同步(有 async wrapper) | ✅ 基于 SQLx |
| SQL 方式 | 原始 SQL | 类型安全 DSL | 查询构建器 |
| 编译时检查 | ✅ SQL 语法 | ✅ Schema | ❌ |
| 学习曲线 | 低 | 中 | 低 |
| 迁移工具 | 内置 | 内置 | 内置 |
| 支持数据库 | PG/MySQL/SQLite | PG/MySQL/SQLite | PG/MySQL/SQLite |
选型建议
- SQLx:偏好原始 SQL、需要异步 → 最推荐
- Diesel:偏好类型安全 DSL、已有同步项目
- SeaORM:偏好 ORM 风格、类似 TypeORM/ActiveRecord