20个版本 (7个重大更新)
0.10.4 | 2021年10月4日 |
---|---|
0.9.0 | 2021年9月23日 |
0.7.0 | 2021年3月29日 |
0.1.8 | 2020年11月2日 |
#149 在 #sqlx
每月34次下载
用于 ormx
46KB
1K SLoC
ormx
为 sqlx 提供轻量级宏
入门指南
将ormx和sqlx添加到您的 Cargo.toml
[dependencies.ormx]
version = "0.7"
features = ["mysql"]
[dependencies.sqlx]
version = "0.5"
default-features = false
features = ["macros", "mysql", "runtime-tokio-rustls"]
目前,ormx支持mysql/mariadb和postgres。
它做什么?
ormx提供宏,在编译时生成常用的SQL查询。
ormx旨在与sqlx一起使用。它生成的所有内容都在底层使用 sqlx::query!
,因此每个生成的查询都会在编译时与您的数据库进行核对。
它不做什么?
ormx既不是完整的ORM也不是查询构建器。对于除了简单的CRUD之外的所有事情,您始终可以使用sqlx。
每个表都必须包含一个id列,该列唯一标识一行。可能的话,您会希望使用自增整数。这是ormx的一个基本要求,如果您的表不满足这个要求,ormx可能不是您要找的。
帮助
如果您遇到问题或有问题,请随时在 #ormx
sqlx Discord 上提问。
当前文档不是最佳状态,因此请放心寻求帮助。
mysql示例
postgres示例
功能
mysql
- 启用对mysql/mariadb的支持postgres
- 启用对postgres的支持
0.7的迁移指南
从0.7版本开始,id列不再是特殊的了 - 如果它们由数据库生成,您必须使用 #[ormx(default)]
进行注释。
关于重借用的说明
如果您遇到编译器告诉您不能重复使用一个&mut Connection
的问题,因为
use of moved value
和移动发生,因为'con'具有类型 '&mutConnection',它没有实现'Copy' 特质
您将需要手动使用&mut *con
重新借用连接。
依赖项
~2MB
~44K SLoC