Как определить поле datetime в sqlx rust - PullRequest
0 голосов
/ 02 мая 2020

У меня есть следующая структура?

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.

1 Ответ

1 голос
/ 08 мая 2020

Предполагается, что ваше поле expiry_on в postgres является timestamptz: в зависимости от используемой вами библиотеки времени, вы либо захотите добавить функцию chrono или time в sqlx. Что вы можете сделать в Cargo.toml следующим образом:

[dependencies]
sqlx = { version = "*", features = [ "chrono" ] }

или

sqlx = { version = "*", features = [ "time" ] }

вместо

sqlx = "*"

Где * - это любая версия, которую вы ' повторно использовать.

Затем вы изменяете следующее в приборе (при условии chrono):

pub struct Instrument {
    pub id: i32,
    pub expiry_on: chrono::DateTime<chrono::Utc>,
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...