9个版本
| 0.1.3-alpha.6 | 2024年4月24日 |
|---|---|
| 0.1.3-alpha.5 | 2023年7月22日 |
| 0.1.2 | 2023年4月26日 |
| 0.1.1 | 2023年3月12日 |
376 在 数据库接口 中
每月74次下载
用于 2 个Crates(通过 teo-sql-connector)
1MB
21K SLoC
Quaint
注意
此项目是Prisma的quaint的分支。
简介
Quaint是某些SQL数据库的抽象层。它提供
- 用于构建动态SQL查询的AST。
- 不同数据库的访问者以生成SQL字符串。
- 连接器以抽象结果和查询。
- 与mobc进行连接池
- Async/await和Futures 0.3
文档
功能标志
mysql:支持MySQL数据库。postgresql:支持PostgreSQL数据库。sqlite:支持SQLite数据库。mssql:支持Microsoft SQL Server数据库。pooled:在pooled::Quaint中的连接池。json:通过serde_jsoncrate 支持JSON类型。uuid:通过uuidcrate 支持UUID类型。chrono:通过chronocrate 支持DateTime类型。serde-support:使用serdecrate 从结果集反序列化支持。bigdecimal:数值可以读取为BigDecimal。vendored-openssl:在非Windows或非Apple平台上静态链接到供应商的OpenSSL库。fmt-sql:启用格式化日志SQL查询。必须存在FMT_SQL环境变量才能启用格式化。
目标
- 在不知道数据库和条件的情况下生成查询。
- 参数化查询和SQL注入保护。
- 模块化设计,独立的AST以及独立的访问者和连接器。
非目标
- 在查询构建或作为ORM时在数据库级别提供类型安全性。
对于类型安全的数据库抽象,Diesel是一个优秀的选择。
测试
- 查看
.envrc以获取连接参数。如果不同则覆盖变量。MySQL、PostgreSQL和SQL Server需要运行才能使测试成功。
然后
> cargo test
查询调试
可以通过将环境变量LOG_QUERIES设置为任何值来记录查询。它们将以INFO级别记录,并在作用域内有记录器时可见。
可以使用环境变量FMT_SQL来记录格式化的SQL查询。注意,必须启用fmt-sql功能。
安全性
如果您有安全问题要报告,请联系我们security@prisma.io
依赖关系
~3–23MB
~373K SLoC