#postgresql #sqlx #serde #wrapper #serialization #serde-json #pg-row

sqlx-pgrow-serde

sqlx::postgres::PgRow 的 serde 兼容新类型包装器

7 个版本

0.2.0 2023年7月29日
0.1.6 2023年5月25日
0.1.2 2023年3月6日

#1388 in 编码

Download history 11/week @ 2024-03-17 19/week @ 2024-03-24 11/week @ 2024-03-31 1/week @ 2024-04-21 18/week @ 2024-05-05 13/week @ 2024-05-12 60/week @ 2024-05-19 27/week @ 2024-05-26 21/week @ 2024-06-02 18/week @ 2024-06-16 51/week @ 2024-06-23

91 每月下载量

MIT 许可证

15KB
226

sqlx-pgrow-serde

查看 lib.rs 以获取测试用例,这应该能清楚地说明如何使用该包。

async fn main() {
    let row: PgRow = conn.fetch_one("select 3.3").await.unwrap();
    // option 1 - use function calls
    let headers: Vec<String> = read_headers(&row);
    let row: Vec<serde_json::Value> = read_row(&row);
    // option 2 - serializes as a header -> value map
    let row = SerMapPgRow::from(row);
    let row: serde_json::Value = serde_json::to_value(&row).unwrap();
    // option 3 - serializes as a serde_json::Array
    let row = SerVecPgRow::from(row);
    let row: serde_json::Value = serde_json::to_value(&row).unwrap();
}

如果您想在结构体上使用 SerMapPgRowSerVecPgRow 结构体,请查看它们。

依赖项

~10–27MB
~411K SLoC