Skip to main content

microsandbox_migration/
lib.rs

1//! Database migrations for microsandbox.
2
3mod m20260305_000001_create_image_tables;
4mod m20260305_000002_create_sandbox_tables;
5mod m20260305_000003_create_storage_tables;
6mod m20260305_000004_create_sandbox_images_table;
7mod m20260410_000001_erofs_image_schema;
8mod m20260501_000001_create_snapshot_index;
9mod m20260517_000001_drop_sandbox_metric;
10mod m20260527_000001_migrate_oci_rootfs_source;
11mod m20260531_000001_create_sandbox_labels;
12mod m20260531_000002_index_sandbox_labels_key_value;
13mod m20260606_000001_named_volume_kinds;
14mod m20260621_000001_add_sandbox_ephemeral;
15mod m20260621_000002_create_maintenance_lease;
16mod m20260703_000001_add_sandbox_active_config;
17pub mod schema_metadata;
18
19use sea_orm_migration::prelude::*;
20
21//--------------------------------------------------------------------------------------------------
22// Re-Exports
23//--------------------------------------------------------------------------------------------------
24
25pub use sea_orm_migration::MigratorTrait;
26
27//--------------------------------------------------------------------------------------------------
28// Types
29//--------------------------------------------------------------------------------------------------
30
31/// The migrator that runs all migrations in order.
32pub struct Migrator;
33
34//--------------------------------------------------------------------------------------------------
35// Trait Implementations
36//--------------------------------------------------------------------------------------------------
37
38#[async_trait::async_trait]
39impl MigratorTrait for Migrator {
40    fn migrations() -> Vec<Box<dyn MigrationTrait>> {
41        vec![
42            Box::new(m20260305_000001_create_image_tables::Migration),
43            Box::new(m20260305_000002_create_sandbox_tables::Migration),
44            Box::new(m20260305_000003_create_storage_tables::Migration),
45            Box::new(m20260305_000004_create_sandbox_images_table::Migration),
46            Box::new(m20260410_000001_erofs_image_schema::Migration),
47            Box::new(m20260501_000001_create_snapshot_index::Migration),
48            Box::new(m20260517_000001_drop_sandbox_metric::Migration),
49            Box::new(m20260527_000001_migrate_oci_rootfs_source::Migration),
50            Box::new(m20260531_000001_create_sandbox_labels::Migration),
51            Box::new(m20260531_000002_index_sandbox_labels_key_value::Migration),
52            Box::new(m20260606_000001_named_volume_kinds::Migration),
53            Box::new(m20260621_000001_add_sandbox_ephemeral::Migration),
54            Box::new(m20260621_000002_create_maintenance_lease::Migration),
55            Box::new(m20260703_000001_add_sandbox_active_config::Migration),
56        ]
57    }
58}