Skip to main content

rosetta_utc/diesel_impls/
sqlite.rs

1#![cfg(feature = "sqlite")]
2//! Submodule proving the implementations of the traits relative to Diesel with
3//! `SQLite` as the backend.
4
5impl diesel::deserialize::FromSql<crate::diesel_impls::TimestampUTC, diesel::sqlite::Sqlite>
6    for crate::TimestampUTC
7{
8    fn from_sql(
9        value: diesel::sqlite::SqliteValue<'_, '_, '_>,
10    ) -> diesel::deserialize::Result<Self> {
11        <chrono::DateTime<chrono::Utc> as diesel::deserialize::FromSql<
12            diesel::sql_types::TimestamptzSqlite,
13            diesel::sqlite::Sqlite,
14        >>::from_sql(value)
15        .map(Self::from)
16    }
17}
18
19impl diesel::serialize::ToSql<crate::diesel_impls::TimestampUTC, diesel::sqlite::Sqlite>
20    for crate::TimestampUTC
21{
22    fn to_sql<'b>(
23        &'b self,
24        out: &mut diesel::serialize::Output<'b, '_, diesel::sqlite::Sqlite>,
25    ) -> diesel::serialize::Result {
26        <chrono::DateTime<chrono::Utc> as diesel::serialize::ToSql<
27            diesel::sql_types::TimestamptzSqlite,
28            diesel::sqlite::Sqlite,
29        >>::to_sql(self.as_ref(), out)
30    }
31}