#ulid #uuid #sortable #identifier

diesel-ulid

Diesel-rs与tokio_postgres适配器,用于将Ulid(rusty-ulid)转换为Postgres UUID

8个版本

0.3.2 2024年7月9日
0.3.1 2023年8月25日
0.3.0 2023年7月27日
0.2.0 2023年7月10日
0.1.3-rc.1 2023年4月13日

350数据库接口

Download history 24/week @ 2024-04-27 32/week @ 2024-05-04 48/week @ 2024-05-11 9/week @ 2024-05-18 1/week @ 2024-05-25 4/week @ 2024-06-01 36/week @ 2024-06-15 20/week @ 2024-06-22 24/week @ 2024-06-29 155/week @ 2024-07-06 75/week @ 2024-07-13 3/week @ 2024-07-20 103/week @ 2024-07-27 4/week @ 2024-08-03 9/week @ 2024-08-10

每月 121 下载
用于 2 crates

MIT/Apache

19KB
345

Rust License CI Codecov docs.rs Dependency status Safety Dance


diesel-ulid

Ulid映射用于diesel-rs和。此crate包含从rusty-uliddiesel::sql_types::Uuid的定制映射。使用此适配器,您可以在Dieseltokio_postgres中将这些类型用作常规Postgres UUID类型。

导入

cargo add diesel-ulid

或添加

diesel-ulid = 0.3.1

到您的Cargo.toml。虽然这个crate最初是为了diesel-rs而发起的,但它也可以与rust-postgres驱动程序一起使用。您可以使用postgresdiesel功能来启用相应的适配器。

使用方法

这是diesel-rs中入门部分的改编。

假设您有以下schema.rs文件


diesel::table! {
    posts (id) {
        id -> Uuid,
        title -> Varchar,
        body -> Text,
        published -> Bool,
    }
}

您可以使用diesel-ulid如下

use diesel::prelude::*;
use diesel_ulid::DieselUlid as Ulid;

#[derive(Queryable)]
pub struct Post {
    pub id: Ulid,
    pub title: String,
    pub body: String,
    pub published: bool,
}

Postgres UUID将被自动映射到相应的Ulid,反之亦然。这是因为UUID和Ulid都表示为16字节(128位)数据结构。

许可证

根据以下任一许可证授权:

供您选择。

许可

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

依赖关系

~2.6–9.5MB
~94K SLoC