From 8d92e09858b4d91a15c7ae332abef4ca60355e5f Mon Sep 17 00:00:00 2001 From: Billy Chan Date: Tue, 18 May 2021 18:43:14 +0800 Subject: [PATCH] Derive macros traits with crate name --- examples/sqlx-mysql/import.sh | 3 ++- sea-orm-macros/src/derives/column.rs | 4 ++-- sea-orm-macros/src/derives/entity.rs | 6 +++--- sea-orm-macros/src/derives/model.rs | 8 ++++---- sea-orm-macros/src/derives/primary_key.rs | 8 ++++---- src/tests_cfg/cake.rs | 1 + src/tests_cfg/cake_filling.rs | 1 + src/tests_cfg/filling.rs | 1 + src/tests_cfg/fruit.rs | 1 + 9 files changed, 19 insertions(+), 14 deletions(-) diff --git a/examples/sqlx-mysql/import.sh b/examples/sqlx-mysql/import.sh index 800147d3..7e4820c1 100644 --- a/examples/sqlx-mysql/import.sh +++ b/examples/sqlx-mysql/import.sh @@ -3,4 +3,5 @@ cp ../../src/tests_cfg/fruit.rs src/example_fruit.rs cp ../../src/tests_cfg/filling.rs src/example_filling.rs cp ../../src/tests_cfg/cake_filling.rs src/example_cake_filling.rs -sed -i 's/^use crate::/use sea_orm::/g' src/*.rs \ No newline at end of file +sed -i 's/^use crate::/use sea_orm::/g' src/*.rs +sed -i '/^use crate as sea_orm;/d' src/*.rs \ No newline at end of file diff --git a/sea-orm-macros/src/derives/column.rs b/sea-orm-macros/src/derives/column.rs index bc315f69..5aeb8386 100644 --- a/sea-orm-macros/src/derives/column.rs +++ b/sea-orm-macros/src/derives/column.rs @@ -31,13 +31,13 @@ pub fn expend_derive_column(ident: Ident, data: Data) -> syn::Result &str { match self { #(Self::#variant => #name),* diff --git a/sea-orm-macros/src/derives/entity.rs b/sea-orm-macros/src/derives/entity.rs index 0a537a62..8dd7b046 100644 --- a/sea-orm-macros/src/derives/entity.rs +++ b/sea-orm-macros/src/derives/entity.rs @@ -26,15 +26,15 @@ pub fn expend_derive_entity(ident: Ident, attrs: Vec) -> syn::Result< }; Ok(quote!( - impl EntityName for #ident {} + impl sea_orm::EntityName for #ident {} - impl IdenStatic for #ident { + impl sea_orm::IdenStatic for #ident { fn as_str(&self) -> &str { #entity_name } } - impl Iden for #ident { + impl sea_orm::Iden for #ident { fn unquoted(&self, s: &mut dyn std::fmt::Write) { write!(s, "{}", self.as_str()).unwrap(); } diff --git a/sea-orm-macros/src/derives/model.rs b/sea-orm-macros/src/derives/model.rs index 11cf5b3a..cb56b7ac 100644 --- a/sea-orm-macros/src/derives/model.rs +++ b/sea-orm-macros/src/derives/model.rs @@ -28,22 +28,22 @@ pub fn expend_derive_model(ident: Ident, data: Data) -> syn::Result .collect(); Ok(quote!( - impl ModelTrait for #ident { + impl sea_orm::ModelTrait for #ident { type Column = Column; - fn get(&self, c: Self::Column) -> Value { + fn get(&self, c: Self::Column) -> sea_orm::Value { match c { #(Self::Column::#name => self.#field.clone().into()),* } } - fn set(&mut self, c: Self::Column, v: Value) { + fn set(&mut self, c: Self::Column, v: sea_orm::Value) { match c { #(Self::Column::#name => self.#field = v.unwrap()),* } } - fn from_query_result(row: &QueryResult, pre: &str) -> Result { + fn from_query_result(row: &sea_orm::QueryResult, pre: &str) -> Result { Ok(Self { #(#field: row.try_get(pre, Self::Column::#name.as_str().into())?),* }) diff --git a/sea-orm-macros/src/derives/primary_key.rs b/sea-orm-macros/src/derives/primary_key.rs index 128365ce..682f5aa7 100644 --- a/sea-orm-macros/src/derives/primary_key.rs +++ b/sea-orm-macros/src/derives/primary_key.rs @@ -31,13 +31,13 @@ pub fn expend_derive_primary_key(ident: Ident, data: Data) -> syn::Result &str { match self { #(Self::#variant => #name),* @@ -45,9 +45,9 @@ pub fn expend_derive_primary_key(ident: Ident, data: Data) -> syn::Result for #ident { + impl sea_orm::PrimaryKeyOfModel for #ident { fn into_column(self) -> ::Column { match self { #(Self::#variant => Column::#variant),* diff --git a/src/tests_cfg/cake.rs b/src/tests_cfg/cake.rs index f3c815f6..c8bdfb10 100644 --- a/src/tests_cfg/cake.rs +++ b/src/tests_cfg/cake.rs @@ -1,4 +1,5 @@ use crate::entity::prelude::*; +use crate as sea_orm; #[derive(Copy, Clone, Default, Debug, DeriveEntity)] #[table = "cake"] diff --git a/src/tests_cfg/cake_filling.rs b/src/tests_cfg/cake_filling.rs index 14fbdc56..905127a4 100644 --- a/src/tests_cfg/cake_filling.rs +++ b/src/tests_cfg/cake_filling.rs @@ -1,4 +1,5 @@ use crate::entity::prelude::*; +use crate as sea_orm; #[derive(Copy, Clone, Default, Debug, DeriveEntity)] #[table = "cake_filling"] diff --git a/src/tests_cfg/filling.rs b/src/tests_cfg/filling.rs index 85db6da8..7f0d8776 100644 --- a/src/tests_cfg/filling.rs +++ b/src/tests_cfg/filling.rs @@ -1,4 +1,5 @@ use crate::entity::prelude::*; +use crate as sea_orm; #[derive(Copy, Clone, Default, Debug, DeriveEntity)] #[table = "filling"] diff --git a/src/tests_cfg/fruit.rs b/src/tests_cfg/fruit.rs index 3b199cea..09856a1e 100644 --- a/src/tests_cfg/fruit.rs +++ b/src/tests_cfg/fruit.rs @@ -1,4 +1,5 @@ use crate::entity::prelude::*; +use crate as sea_orm; #[derive(Copy, Clone, Default, Debug, DeriveEntity)] #[table = "fruit"]