- 主要观点:Toasty 是 Rust 语言的异步 ORM,注重易用性,支持 SQL 和 NoSQL 数据库,目前处于早期开发阶段,可通过创建模式文件定义数据模型,使用 Toasty CLI 工具生成 Rust 代码,旨在填补 Rust ORM 库的空白,提高开发效率。
关键信息:
- Toasty 支持 DynamoDB 和 Cassandra(即将支持)等数据库。
- 开发阶段为早期,暂未在 crates.io 发布,已开源在 Github 上,欢迎反馈。
- 可通过创建模式文件定义数据模型,如
hello-toasty/schema.toasty
文件中的示例。 - 使用 Toasty CLI 工具可生成处理数据模型的 Rust 代码,示例代码在
examples/hello-toasty/src/db
。 - 探讨了为何需要 ORM,认为 Rust 生态在高级 Web 应用方面的 ORM 库较少,Toasty 旨在填补这一空白,注重易用性而非性能最大化。
- 介绍了使 ORM 易用的方法,如尽量减少使用 trait 和 lifetime,不使用过程宏生成代码,而是通过显式代码生成步骤生成可读的代码,以便用户发现生成的方法。
- Toasty 支持 SQL 和 NoSQL 数据库,但不抽象底层数据库,会基于选择生成数据库特定的功能和避免低效查询。
- 下一步是填补空白,准备明年年底使 Toasty 可用于实际生产,欢迎在 Tokio Discord 的#toasty 频道讨论或在 Github 上创建问题。
重要细节:
- 示例中创建用户并添加待办事项、从数据库加载用户及用户的待办事项等操作的代码片段。
- 对 ORM 易用性的讨论,包括对 trait 和 lifetime 的使用以及代码生成方式的选择。
- 关于 Toasty 支持的数据库及未来添加支持的计划。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。