From fcd969e57ce4fbc71b85240b7ebb1d248eb1e071 Mon Sep 17 00:00:00 2001 From: Chris Tsang Date: Thu, 30 Sep 2021 22:05:23 +0800 Subject: [PATCH] Use DeriveIden to replace ToString --- src/executor/query.rs | 16 +++------------- src/executor/select.rs | 23 +++++++---------------- src/lib.rs | 2 ++ 3 files changed, 12 insertions(+), 29 deletions(-) diff --git a/src/executor/query.rs b/src/executor/query.rs index c39c2211..f2f29137 100644 --- a/src/executor/query.rs +++ b/src/executor/query.rs @@ -320,24 +320,14 @@ pub trait TryGetableMany: Sized { /// # ]]) /// # .into_connection(); /// # - /// use sea_orm::{entity::*, query::*, tests_cfg::cake, EnumIter, TryGetableMany}; + /// use sea_orm::{entity::*, query::*, tests_cfg::cake, EnumIter, DeriveIden, TryGetableMany}; /// - /// #[derive(EnumIter)] + /// #[derive(EnumIter, DeriveIden)] /// enum ResultCol { /// Name, /// NumOfCakes, /// } /// - /// // this can be derived using derive_more crate - /// impl std::fmt::Display for ResultCol { - /// fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - /// match self { - /// Self::Name => write!(f, "name"), - /// Self::NumOfCakes => write!(f, "num_of_cakes"), - /// } - /// } - /// } - /// /// # let _: Result<(), DbErr> = smol::block_on(async { /// # /// let res: Vec<(String, i32)> = @@ -371,7 +361,7 @@ pub trait TryGetableMany: Sized { /// ``` fn find_by_statement(stmt: Statement) -> SelectorRaw> where - C: sea_strum::IntoEnumIterator + ToString, + C: sea_strum::IntoEnumIterator + sea_query::Iden, { SelectorRaw::>::with_columns(stmt) } diff --git a/src/executor/select.rs b/src/executor/select.rs index ebc5ad11..879ab26e 100644 --- a/src/executor/select.rs +++ b/src/executor/select.rs @@ -34,7 +34,7 @@ pub trait SelectorTrait { pub struct SelectGetableValue where T: TryGetableMany, - C: sea_strum::IntoEnumIterator + ToString, + C: sea_strum::IntoEnumIterator + sea_query::Iden, { columns: PhantomData, model: PhantomData, @@ -60,7 +60,7 @@ where impl SelectorTrait for SelectGetableValue where T: TryGetableMany, - C: sea_strum::IntoEnumIterator + ToString, + C: sea_strum::IntoEnumIterator + sea_query::Iden, { type Item = T; @@ -143,22 +143,13 @@ where /// # ]]) /// # .into_connection(); /// # - /// use sea_orm::{entity::*, query::*, tests_cfg::cake, EnumIter, TryGetableMany}; + /// use sea_orm::{entity::*, query::*, tests_cfg::cake, EnumIter, DeriveIden, TryGetableMany}; /// - /// #[derive(EnumIter)] + /// #[derive(EnumIter, DeriveIden)] /// enum ResultCol { /// Name, /// } /// - /// // this can be derived using derive_more crate - /// impl std::fmt::Display for ResultCol { - /// fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - /// match self { - /// Self::Name => write!(f, "name"), - /// } - /// } - /// } - /// /// # let _: Result<(), DbErr> = smol::block_on(async { /// # /// let res: Vec = cake::Entity::find() @@ -188,7 +179,7 @@ where pub fn into_values(self) -> Selector> where T: TryGetableMany, - C: sea_strum::IntoEnumIterator + ToString, + C: sea_strum::IntoEnumIterator + sea_query::Iden, { Selector::>::with_columns(self.query) } @@ -323,7 +314,7 @@ where pub fn with_columns(query: SelectStatement) -> Selector> where T: TryGetableMany, - C: sea_strum::IntoEnumIterator + ToString, + C: sea_strum::IntoEnumIterator + sea_query::Iden, { Selector { query, @@ -386,7 +377,7 @@ where pub fn with_columns(stmt: Statement) -> SelectorRaw> where T: TryGetableMany, - C: sea_strum::IntoEnumIterator + ToString, + C: sea_strum::IntoEnumIterator + sea_query::Iden, { SelectorRaw { stmt, diff --git a/src/lib.rs b/src/lib.rs index e4897d13..90ffe214 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -440,5 +440,7 @@ pub use sea_orm_macros::{ pub use sea_query; pub use sea_query::Iden; +pub use sea_query::Iden as DeriveIden; + pub use sea_strum; pub use sea_strum::EnumIter;