1

我有一个包含日期的结构,我将它与sqlx一起使用以从我的数据库中检索数据。所以像:

use sqlx::types::chrono::{DateTime, Utc};

pub struct Account {
    pub id: i32,
    pub primary_email_id: i32,
    pub created: DateTime<Utc>,
}

sqlx::query_as!(Account, "select * ...")

到目前为止,这工作正常。但我也想Account通过 serde 进行序列化。显而易见的方法是:

#[derive(Serialize)]
pub struct Account {
    ...

这失败了,因为Serialize没有为DateTime<Utc>. PrimitiveDateTime我从板条箱中尝试了相同time的结果,结果相同。理论上两者都应该serde作为一个特性来支持。

我尝试显式添加timechrono作为依赖项,以启用serde作为功能并使用不带sqlx::types前缀的类型。但在这种情况下,它会失败,因为某些sqlx特征没有实现。

我假设我必须以某种方式为 sqlx 引入的类启用 serde 功能,但我不知道如何为功能指定功能!?

如何告诉 sqlx 为 time/chrono 类型启用 serde?

4

0 回答 0