GitHub - tokio-rs/toasty: 一个用于 Rust 的异步 ORM(孵化中)

主要观点:Toasty 是 Rust 编程语言的对象关系映射(ORM),处于孵化阶段,暂不适合生产使用,API 仍在演进且文档缺乏;支持 SQL 和 NoSQL 数据库,不隐藏数据库能力,根据目标数据库暴露相应功能;可通过 Rust 结构体和注解定义数据模型,如UserTodo结构体;能轻松操作数据模型,如创建用户和待办事项、从数据库加载等;将应用数据模型与数据库模式解耦,可自定义映射;目前仍在早期开发,有填补明显差距(如错误处理等)、基于反馈和贡献继续发展等后续计划;项目遵循 MIT 许可证,贡献需遵循相应规定。
关键信息

  • 支持的数据库:SQL 及一些 NoSQL 数据库(如 DynamoDB、Cassandra)
  • 数据模型定义:用#[toasty::model]注解的 Rust 结构体
  • 操作示例:创建用户、加载用户及待办事项等
  • 与数据库关系:不抽象数据库,根据目标数据库生成查询方法等
  • 发展阶段:孵化期,无持续维护或开发承诺
  • 后续计划:填补差距、基于反馈和贡献发展
  • 许可证:MIT 许可证
    重要细节
  • #[key]注解用于标识主键,#[auto]用于自动生成 ID
  • #[unique]用于唯一约束,#[has_many]用于关联多个对象,#[belongs_to]用于关联单个对象
  • 在 SQL 和 NoSQL 数据库中,查询方法生成基于数据库特性和索引等
  • 可通过注解自定义应用数据模型与数据库模式的映射,如#[toasty::model(table = "user_and_packages")]
阅读 22
0 条评论