我有一个结构如下?
pub struct Instrument { pub id:i32, pub expiry_on: <this should be a date field> }
我应该给予expiry_on的类型什么?我想使用sqlx::query_as!()内部的结构体从postgres中获取记录?expiry_on是timestampzPostgres字段。
expiry_on
sqlx::query_as!()
postgres
timestampz
Postgres
vbopmzt11#
假设postgres中的expiry_on字段是timestamptz:根据您使用的时间库,您可能希望将chrono功能或time功能添加到sqlx。您可以在Cargo.toml中这样做:
timestamptz
chrono
time
Cargo.toml
[dependencies] sqlx = { version = "*", features = [ "chrono" ] }
或
sqlx = { version = "*", features = [ "time" ] }
而不是
sqlx = "*"
其中*是您使用的任何版本。然后在Instrument中更改以下内容(假设chrono):
*
pub struct Instrument { pub id: i32, pub expiry_on: chrono::DateTime<chrono::Utc>, }
kadbb4592#
要完成answer by izik1,我们可以启用chrono的serde支持特性,如下所示:
chrono = { version = "0.4.24", features = ["serde"] }
2条答案
按热度按时间vbopmzt11#
假设postgres中的expiry_on字段是
timestamptz
:根据您使用的时间库,您可能希望将chrono
功能或time
功能添加到sqlx。您可以在Cargo.toml
中这样做:或
而不是
其中
*
是您使用的任何版本。然后在Instrument中更改以下内容(假设
chrono
):kadbb4592#
要完成answer by izik1,我们可以启用chrono的serde支持特性,如下所示: