这个项目能做什么

SeaORM 是一个为 Rust 设计的功能丰富的对象关系映射器 (ORM)。它提供了一种高层级的概念化方式来建模复杂的关系,包括 1-1、1-N、M-N 以及自引用关系。 核心能力包括: - 智能实体加载器 (Smart Entity Loader):智能地对 1-1 关系使用 join,对 1-N 关系使用 data loaders,以消除 N+1 查询问题。 - ActiveModel:支持嵌套持久化,允许在单次操作中保存整个对象图。 - 灵活的工作流:同时支持模式优先(通过迁移系统)和实体优先的工作流,后者可根据实体定义自动同步数据库模式。 - 原生 SQL 支持:包含一个 `raw_sql!` 宏用于复杂查询,在防止 SQL 注入的同时提供参数插值和数组扩展。 - 同步支持:通过 `sea-orm-sync`,API 可以在没有异步运行时的情况下使用,这对于轻量级 CLI 工具非常有用。 - 集成:为多种 Rust Web 框架提供示例,包括 Actix、Axum、Poem、Rocket 和 Salvo。 此外,该生态系统还包括用于快速启动 GraphQL API 的 Seaography 以及用于专业管理面板的 SeaORM Pro。