diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/apps.rs | 4 | ||||
| -rw-r--r-- | src/contrib/admin/migrations/m_0001_initial.rs | 10 | ||||
| -rw-r--r-- | src/contrib/admin/migrations/mod.rs | 3 | ||||
| -rw-r--r-- | src/contrib/admin/mod.rs | 3 | ||||
| -rw-r--r-- | src/db/migration/mod.rs | 12 | ||||
| -rw-r--r-- | src/db/mod.rs | 1 | 
6 files changed, 31 insertions, 2 deletions
diff --git a/src/apps.rs b/src/apps.rs index 26c6124..785ce8c 100644 --- a/src/apps.rs +++ b/src/apps.rs @@ -1,3 +1,5 @@ -pub struct AppConfig { +use crate::db::migration::Migration; +pub struct AppConfig { +    pub migrations: &'static [Migration],  } diff --git a/src/contrib/admin/migrations/m_0001_initial.rs b/src/contrib/admin/migrations/m_0001_initial.rs new file mode 100644 index 0000000..6fed631 --- /dev/null +++ b/src/contrib/admin/migrations/m_0001_initial.rs @@ -0,0 +1,10 @@ +use crate::db::migration::{Migration, DatabaseChange}; + +pub const MIGRATION: Migration = Migration { +    id: 1, +    name: "initial", +    prereqs: &[], +    changes: &[ +        DatabaseChange::CreateModel, +    ], +}; diff --git a/src/contrib/admin/migrations/mod.rs b/src/contrib/admin/migrations/mod.rs new file mode 100644 index 0000000..5ecbb82 --- /dev/null +++ b/src/contrib/admin/migrations/mod.rs @@ -0,0 +1,3 @@ +use crate::db::migration::{Migration, gather}; + +gather!(); diff --git a/src/contrib/admin/mod.rs b/src/contrib/admin/mod.rs index 0f7e880..5098a4a 100644 --- a/src/contrib/admin/mod.rs +++ b/src/contrib/admin/mod.rs @@ -1,7 +1,8 @@  use crate::apps::AppConfig; +mod migrations;  pub mod site;  pub const APP: AppConfig = AppConfig { - +    migrations: migrations::migrations,  }; diff --git a/src/db/migration/mod.rs b/src/db/migration/mod.rs new file mode 100644 index 0000000..d53f46b --- /dev/null +++ b/src/db/migration/mod.rs @@ -0,0 +1,12 @@ +pub use tosin_macros::gather_migrations as gather; + +pub struct Migration { +    pub id: usize, +    pub name: &'static str, +    pub prereqs: &'static [(&'static str, usize)], +    pub changes: &'static [DatabaseChange], +} + +pub enum DatabaseChange { +    CreateModel, +} diff --git a/src/db/mod.rs b/src/db/mod.rs index b6528f5..05c38df 100644 --- a/src/db/mod.rs +++ b/src/db/mod.rs @@ -1,2 +1,3 @@  pub mod backend; +pub mod migration;  pub mod models;  |