diff --git a/src/schema/entity.rs b/src/schema/entity.rs index 8ee0fc2b..7582aaee 100644 --- a/src/schema/entity.rs +++ b/src/schema/entity.rs @@ -1,10 +1,19 @@ use crate::{ unpack_table_ref, ColumnTrait, EntityTrait, Identity, Iterable, PrimaryKeyToColumn, - PrimaryKeyTrait, RelationTrait, + PrimaryKeyTrait, RelationTrait, Schema, }; use sea_query::{ColumnDef, ForeignKeyCreateStatement, Iden, Index, TableCreateStatement}; -pub fn create_table_from_entity(entity: E) -> TableCreateStatement +impl Schema { + pub fn create_table_from_entity(entity: E) -> TableCreateStatement + where + E: EntityTrait, + { + create_table_from_entity(entity) + } +} + +pub(crate) fn create_table_from_entity(entity: E) -> TableCreateStatement where E: EntityTrait, { @@ -112,14 +121,13 @@ where #[cfg(test)] mod tests { - use crate::{create_table_from_entity, tests_cfg::*}; + use crate::{sea_query::*, tests_cfg::*, Schema}; use pretty_assertions::assert_eq; - use sea_query::*; #[test] fn test_create_table_from_entity() { assert_eq!( - create_table_from_entity(CakeFillingPrice).to_string(MysqlQueryBuilder), + Schema::create_table_from_entity(CakeFillingPrice).to_string(MysqlQueryBuilder), Table::create() .table(CakeFillingPrice) .if_not_exists() diff --git a/src/schema/mod.rs b/src/schema/mod.rs index 135a9f2a..1d05e679 100644 --- a/src/schema/mod.rs +++ b/src/schema/mod.rs @@ -1,3 +1,4 @@ mod entity; -pub use entity::*; +#[derive(Debug)] +pub struct Schema; diff --git a/tests/common/setup/schema.rs b/tests/common/setup/schema.rs index b1f0ae2d..1a0a1c0a 100644 --- a/tests/common/setup/schema.rs +++ b/tests/common/setup/schema.rs @@ -1,6 +1,6 @@ pub use super::super::bakery_chain::*; use pretty_assertions::assert_eq; -use sea_orm::{create_table_from_entity, error::*, sea_query, DbConn, EntityTrait, ExecResult}; +use sea_orm::{error::*, sea_query, DbConn, EntityTrait, ExecResult, Schema}; use sea_query::{ColumnDef, ForeignKey, ForeignKeyAction, Index, Table, TableCreateStatement}; async fn create_table( @@ -13,7 +13,10 @@ where { let builder = db.get_database_backend(); let stmt = builder.build(stmt); - assert_eq!(builder.build(&create_table_from_entity(entity)), stmt); + assert_eq!( + builder.build(&Schema::create_table_from_entity(entity)), + stmt + ); db.execute(stmt).await }