#查询构建器 #ORM #SQL #SQLite #PostgreSQL #数据库模式

diesel-dynamic-schema

适用于 PostgreSQL、SQLite 和 MySQL 的安全、可扩展的 ORM 和查询构建器

5 个版本

0.2.2 2024年5月31日
0.2.1 2023年5月26日
0.2.0 2022年8月29日
0.2.0-rc.12022年7月22日
0.2.0-rc.02022年4月22日

1778数据库接口

Download history 388/week @ 2024-04-26 412/week @ 2024-05-03 489/week @ 2024-05-10 529/week @ 2024-05-17 596/week @ 2024-05-24 816/week @ 2024-05-31 629/week @ 2024-06-07 670/week @ 2024-06-14 468/week @ 2024-06-21 785/week @ 2024-06-28 655/week @ 2024-07-05 825/week @ 2024-07-12 783/week @ 2024-07-19 840/week @ 2024-07-26 656/week @ 2024-08-02 727/week @ 2024-08-09

每月下载量 3,172
diesel-oci 中使用

MIT/Apache

2MB
36K SLoC

使用 Diesel,编译时未知查询模式

Build Status Gitter

API 文档: 最新版本

Diesel 是为了提供强大的编译时保证,确保您的查询有效而构建的。为此,它需要在编译时表示您的模式。然而,有些时候,您直到运行时才知道您与之交互的模式。

此 crate 提供了用于处理这些情况的工具,同时仍然可以使用 Diesel 的查询构建器。请注意,许多编译时保证将丢失。我们无法验证您请求的表/列实际上是否存在,或者您声明的类型是否正确。

入门

此 crate 使用的主体函数是 table。请注意,在使用此 crate 时,您必须始终提供显式的选择子。

use diesel_dynamic_schema::table;

let users = table("users");
let id = users.column::<Integer, _>("id");
let name = users.column::<Text, _>("name");

users.select((id, name))
    .filter(name.eq("Sean"))
    .first(&conn)

行为准则

任何与 Diesel 互动的人,包括但不限于这个 GitHub 仓库,都必须遵循我们的 行为准则

许可协议

以下任一许可协议下

贡献

除非您明确声明,否则您有意提交以包含在本作品中,根据 Apache-2.0 许可证的定义,上述贡献应作为双重许可,不附加任何其他条款或条件。

依赖关系

~0.7–4MB
~85K SLoC