我有一个包含日期的结构,我将它与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
作为一个特性来支持。
我尝试显式添加time
或chrono
作为依赖项,以启用serde
作为功能并使用不带sqlx::types
前缀的类型。但在这种情况下,它会失败,因为某些sqlx
特征没有实现。
我假设我必须以某种方式为 sqlx 引入的类启用 serde 功能,但我不知道如何为功能指定功能!?
如何告诉 sqlx 为 time/chrono 类型启用 serde?