我有一个如下结构体?
pub struct Instrument {
pub id:i32,
pub expiry_on: <this should be a date field>
}
我应该给expiry_on
什么类型。我想在sqlx::query_as!()
内部使用结构体从postgres
中获取记录?
expiry_on
是一个timestampz
的Postgres
字段。
我有一个如下结构体?
pub struct Instrument {
pub id:i32,
pub expiry_on: <this should be a date field>
}
我应该给expiry_on
什么类型。我想在sqlx::query_as!()
内部使用结构体从postgres
中获取记录?
expiry_on
是一个timestampz
的Postgres
字段。
假设您的Postgres中的expiry_on字段是一个,根据您使用的时间库不同,您将需要向sqlx添加特性或
[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>,
}
chrono = { version = "0.4.24", features = ["serde"] }
# Cargo.toml:
[dependencies]
# get all required types
chrono = { version = "0.4.*", features = ["serde"] }
# enable sqlx-conversion traits for chrono-types
sqlx = { version = "0.6.*", features = [ "chrono",...] }
pub struct Instrument {
pub id: i32,
# important: import from chrono-crate!
pub expiry_on: chrono::DateTime<chrono::Utc>,
}