Merge pull request #207 from SeaQL/naive-date
Support `chrono::NaiveDate` & `chrono::NaiveTime`
This commit is contained in:
commit
a6dfb417e2
@ -30,7 +30,7 @@ futures-util = { version = "^0.3" }
|
|||||||
log = { version = "^0.4", optional = true }
|
log = { version = "^0.4", optional = true }
|
||||||
rust_decimal = { version = "^1", optional = true }
|
rust_decimal = { version = "^1", optional = true }
|
||||||
sea-orm-macros = { version = "^0.2.3", path = "sea-orm-macros", optional = true }
|
sea-orm-macros = { version = "^0.2.3", path = "sea-orm-macros", optional = true }
|
||||||
sea-query = { version = "^0.16.3", features = ["thread-safe"] }
|
sea-query = { version = "^0.16.5", features = ["thread-safe"] }
|
||||||
sea-strum = { version = "^0.21", features = ["derive", "sea-orm"] }
|
sea-strum = { version = "^0.21", features = ["derive", "sea-orm"] }
|
||||||
serde = { version = "^1.0", features = ["derive"] }
|
serde = { version = "^1.0", features = ["derive"] }
|
||||||
serde_json = { version = "^1", optional = true }
|
serde_json = { version = "^1", optional = true }
|
||||||
|
@ -210,8 +210,8 @@ pub fn expand_derive_entity_model(data: Data, attrs: Vec<Attribute>) -> syn::Res
|
|||||||
"f32" => quote! { Float },
|
"f32" => quote! { Float },
|
||||||
"f64" => quote! { Double },
|
"f64" => quote! { Double },
|
||||||
"bool" => quote! { Boolean },
|
"bool" => quote! { Boolean },
|
||||||
"NaiveDate" => quote! { Date },
|
"Date" | "NaiveDate" => quote! { Date },
|
||||||
"NaiveTime" => quote! { Time },
|
"Time" | "NaiveTime" => quote! { Time },
|
||||||
"DateTime" | "NaiveDateTime" => {
|
"DateTime" | "NaiveDateTime" => {
|
||||||
quote! { DateTime }
|
quote! { DateTime }
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,12 @@ pub use crate::{
|
|||||||
#[cfg(feature = "with-json")]
|
#[cfg(feature = "with-json")]
|
||||||
pub use serde_json::Value as Json;
|
pub use serde_json::Value as Json;
|
||||||
|
|
||||||
|
#[cfg(feature = "with-chrono")]
|
||||||
|
pub use chrono::NaiveDate as Date;
|
||||||
|
|
||||||
|
#[cfg(feature = "with-chrono")]
|
||||||
|
pub use chrono::NaiveTime as Time;
|
||||||
|
|
||||||
#[cfg(feature = "with-chrono")]
|
#[cfg(feature = "with-chrono")]
|
||||||
pub use chrono::NaiveDateTime as DateTime;
|
pub use chrono::NaiveDateTime as DateTime;
|
||||||
|
|
||||||
|
@ -241,6 +241,12 @@ try_getable_all!(Vec<u8>);
|
|||||||
#[cfg(feature = "with-json")]
|
#[cfg(feature = "with-json")]
|
||||||
try_getable_all!(serde_json::Value);
|
try_getable_all!(serde_json::Value);
|
||||||
|
|
||||||
|
#[cfg(feature = "with-chrono")]
|
||||||
|
try_getable_all!(chrono::NaiveDate);
|
||||||
|
|
||||||
|
#[cfg(feature = "with-chrono")]
|
||||||
|
try_getable_all!(chrono::NaiveTime);
|
||||||
|
|
||||||
#[cfg(feature = "with-chrono")]
|
#[cfg(feature = "with-chrono")]
|
||||||
try_getable_all!(chrono::NaiveDateTime);
|
try_getable_all!(chrono::NaiveDateTime);
|
||||||
|
|
||||||
|
@ -10,6 +10,8 @@ pub struct Model {
|
|||||||
pub key: String,
|
pub key: String,
|
||||||
pub value: String,
|
pub value: String,
|
||||||
pub bytes: Vec<u8>,
|
pub bytes: Vec<u8>,
|
||||||
|
pub date: Date,
|
||||||
|
pub time: Time,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
|
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
|
||||||
|
@ -287,6 +287,8 @@ pub async fn create_metadata_table(db: &DbConn) -> Result<ExecResult, DbErr> {
|
|||||||
.col(ColumnDef::new(metadata::Column::Key).string().not_null())
|
.col(ColumnDef::new(metadata::Column::Key).string().not_null())
|
||||||
.col(ColumnDef::new(metadata::Column::Value).string().not_null())
|
.col(ColumnDef::new(metadata::Column::Value).string().not_null())
|
||||||
.col(ColumnDef::new(metadata::Column::Bytes).binary().not_null())
|
.col(ColumnDef::new(metadata::Column::Bytes).binary().not_null())
|
||||||
|
.col(ColumnDef::new(metadata::Column::Date).date().not_null())
|
||||||
|
.col(ColumnDef::new(metadata::Column::Time).time().not_null())
|
||||||
.to_owned();
|
.to_owned();
|
||||||
|
|
||||||
create_table(db, &stmt, Metadata).await
|
create_table(db, &stmt, Metadata).await
|
||||||
|
@ -26,6 +26,8 @@ pub async fn crud_in_parallel(db: &DatabaseConnection) -> Result<(), DbErr> {
|
|||||||
key: "markup".to_owned(),
|
key: "markup".to_owned(),
|
||||||
value: "1.18".to_owned(),
|
value: "1.18".to_owned(),
|
||||||
bytes: vec![1, 2, 3],
|
bytes: vec![1, 2, 3],
|
||||||
|
date: Date::from_ymd(2021, 9, 27),
|
||||||
|
time: Time::from_hms(11, 32, 55),
|
||||||
},
|
},
|
||||||
metadata::Model {
|
metadata::Model {
|
||||||
uuid: Uuid::new_v4(),
|
uuid: Uuid::new_v4(),
|
||||||
@ -33,6 +35,8 @@ pub async fn crud_in_parallel(db: &DatabaseConnection) -> Result<(), DbErr> {
|
|||||||
key: "exchange_rate".to_owned(),
|
key: "exchange_rate".to_owned(),
|
||||||
value: "0.78".to_owned(),
|
value: "0.78".to_owned(),
|
||||||
bytes: vec![1, 2, 3],
|
bytes: vec![1, 2, 3],
|
||||||
|
date: Date::from_ymd(2021, 9, 27),
|
||||||
|
time: Time::from_hms(11, 32, 55),
|
||||||
},
|
},
|
||||||
metadata::Model {
|
metadata::Model {
|
||||||
uuid: Uuid::new_v4(),
|
uuid: Uuid::new_v4(),
|
||||||
@ -40,6 +44,8 @@ pub async fn crud_in_parallel(db: &DatabaseConnection) -> Result<(), DbErr> {
|
|||||||
key: "service_charge".to_owned(),
|
key: "service_charge".to_owned(),
|
||||||
value: "1.1".to_owned(),
|
value: "1.1".to_owned(),
|
||||||
bytes: vec![1, 2, 3],
|
bytes: vec![1, 2, 3],
|
||||||
|
date: Date::from_ymd(2021, 9, 27),
|
||||||
|
time: Time::from_hms(11, 32, 55),
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -24,6 +24,8 @@ pub async fn create_metadata(db: &DatabaseConnection) -> Result<(), DbErr> {
|
|||||||
key: "markup".to_owned(),
|
key: "markup".to_owned(),
|
||||||
value: "1.18".to_owned(),
|
value: "1.18".to_owned(),
|
||||||
bytes: vec![1, 2, 3],
|
bytes: vec![1, 2, 3],
|
||||||
|
date: Date::from_ymd(2021, 9, 27),
|
||||||
|
time: Time::from_hms(11, 32, 55),
|
||||||
};
|
};
|
||||||
|
|
||||||
let res = Metadata::insert(metadata.clone().into_active_model())
|
let res = Metadata::insert(metadata.clone().into_active_model())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user