diff --git a/tests/postgres/src/models/enums/mod.rs b/tests/postgres/src/models/enums/mod.rs index 41bcc97d..b3eb3000 100644 --- a/tests/postgres/src/models/enums/mod.rs +++ b/tests/postgres/src/models/enums/mod.rs @@ -1,6 +1,6 @@ // only for PostgreSQL to match a type definition -#[derive(sqlx::Type, Debug, Clone, PartialEq)] +#[derive(welds::WeldsType, Debug, Clone, PartialEq)] #[sqlx(type_name = "Color")] pub enum Color { Red, diff --git a/welds-connections/src/lib.rs b/welds-connections/src/lib.rs index b0cf0946..0e9d14de 100644 --- a/welds-connections/src/lib.rs +++ b/welds-connections/src/lib.rs @@ -18,6 +18,8 @@ pub mod row; pub mod sqlite; pub mod trace; pub mod transaction; +#[cfg(any(feature = "mysql", feature = "sqlite", feature = "postgres"))] +pub use sqlx::Type as WeldsType; pub struct Fetch<'s, 'args, 't> { pub sql: &'s str, diff --git a/welds/src/lib.rs b/welds/src/lib.rs index 7f2a9f23..622b0961 100644 --- a/welds/src/lib.rs +++ b/welds/src/lib.rs @@ -180,3 +180,7 @@ pub use welds_connections::{Client, Row, Syntax, TransactStart}; /// Re-export the Macro used to make models pub use welds_macros::WeldsModel; + +/// Re-export sqlx::Type as WeldsType for using custom types in models +#[cfg(any(feature = "mysql", feature = "sqlite", feature = "postgres"))] +pub use welds_connections::WeldsType; diff --git a/welds/src/prelude.rs b/welds/src/prelude.rs index 6d4bcc87..7d20a67e 100644 --- a/welds/src/prelude.rs +++ b/welds/src/prelude.rs @@ -3,3 +3,5 @@ pub use crate::TransactStart; pub use crate::WeldsModel; pub use crate::exts::{VecRowExt, VecStateExt}; pub use crate::state::DbState; +#[cfg(any(feature = "mysql", feature = "sqlite", feature = "postgres"))] +pub use crate::WeldsType;