From 507015d5c92393c6577c6f1229f4975a1963fced Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Sun, 3 Sep 2023 08:38:54 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=A5=20Replace=20migration=5Fitem!=20ma?= =?UTF-8?q?cro=20with=20migrations!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pagetop-node/src/lib.rs | 10 +++++----- pagetop-user/src/lib.rs | 10 +++++----- pagetop/src/core/module/definition.rs | 4 ++-- pagetop/src/db.rs | 13 ++++++++++--- pagetop/src/prelude.rs | 2 +- 5 files changed, 23 insertions(+), 16 deletions(-) diff --git a/pagetop-node/src/lib.rs b/pagetop-node/src/lib.rs index ec21ab8c..a07d444a 100644 --- a/pagetop-node/src/lib.rs +++ b/pagetop-node/src/lib.rs @@ -31,11 +31,11 @@ impl ModuleTrait for Node { } fn migrations(&self) -> Vec { - vec![ - migration_item!(m20220316_000001_create_table_node_type), - migration_item!(m20220316_000002_create_table_node), - migration_item!(m20220316_000003_create_table_node_access), - migration_item!(m20220316_000004_create_table_node_revision), + migrations![ + m20220316_000001_create_table_node_type, + m20220316_000002_create_table_node, + m20220316_000003_create_table_node_access, + m20220316_000004_create_table_node_revision, ] } } diff --git a/pagetop-user/src/lib.rs b/pagetop-user/src/lib.rs index b497063a..939b0b25 100644 --- a/pagetop-user/src/lib.rs +++ b/pagetop-user/src/lib.rs @@ -31,11 +31,11 @@ impl ModuleTrait for User { } fn migrations(&self) -> Vec { - vec![ - migration_item!(m20220312_000001_create_table_role), - migration_item!(m20220312_000002_create_table_role_permission), - migration_item!(m20220312_000003_create_table_user), - migration_item!(m20220312_000004_create_table_user_role), + migrations![ + m20220312_000001_create_table_role, + m20220312_000002_create_table_role_permission, + m20220312_000003_create_table_user, + m20220312_000004_create_table_user_role, ] } } diff --git a/pagetop/src/core/module/definition.rs b/pagetop/src/core/module/definition.rs index 17f76af6..9dcfae12 100644 --- a/pagetop/src/core/module/definition.rs +++ b/pagetop/src/core/module/definition.rs @@ -4,7 +4,7 @@ use crate::core::theme::ThemeRef; use crate::{service, util, Handle}; #[cfg(feature = "database")] -use crate::db::MigrationItem; +use crate::{db::MigrationItem, migrations}; pub type ModuleRef = &'static dyn ModuleTrait; @@ -45,7 +45,7 @@ pub trait ModuleTrait: ModuleBase + Send + Sync { #[cfg(feature = "database")] #[allow(unused_variables)] fn migrations(&self) -> Vec { - vec![] + migrations![] } #[allow(unused_variables)] diff --git a/pagetop/src/db.rs b/pagetop/src/db.rs index 701cb4fc..1e5d7fcf 100644 --- a/pagetop/src/db.rs +++ b/pagetop/src/db.rs @@ -133,8 +133,15 @@ macro_rules! pub_migration { } #[macro_export] -macro_rules! migration_item { - ( $migration_module:ident ) => {{ - Box::new(migration::$migration_module::Migration) +macro_rules! migrations { + () => { + Vec::::new() + }; + ( $($migration_module:ident),+ $(,)? ) => {{ + let mut m = Vec::::new(); + $( + m.push(Box::new(migration::$migration_module::Migration)); + )* + m }}; } diff --git a/pagetop/src/prelude.rs b/pagetop/src/prelude.rs index 3cb64adf..ce889099 100644 --- a/pagetop/src/prelude.rs +++ b/pagetop/src/prelude.rs @@ -36,7 +36,7 @@ pub use crate::locale::*; pub use crate::datetime::*; #[cfg(feature = "database")] -pub use crate::{db, db::*, migration_item, pub_migration}; +pub use crate::{db, db::*, migrations, pub_migration}; pub use crate::service; pub use crate::service::HttpMessage;