pub use sea_orm_migration::prelude::*;

mod m20240101_000001_create_tables;
mod m20240103_000003_backfill_tasks_columns;
mod m20260413_000004_legacy_tasks_to_task_specs;
mod m20260414_000005_move_task_lifecycle_to_specs;
mod m20260415_000006_task_executions;
mod m20260416_000007_merge_task_specs_into_tasks;
mod m20260417_000008_split_task_work_items_to_task_infos;
mod m20260418_000009_merge_task_infos_into_tasks;
mod m20260419_000010_workflow_columns_to_task_executions;
mod m20260420_000011_drop_repos_workspace;

pub struct Migrator;

#[async_trait::async_trait]
impl MigratorTrait for Migrator {
    fn migrations() -> Vec<Box<dyn MigrationTrait>> {
        vec![
            Box::new(m20240101_000001_create_tables::Migration),
            Box::new(m20240103_000003_backfill_tasks_columns::Migration),
            Box::new(m20260413_000004_legacy_tasks_to_task_specs::Migration),
            Box::new(m20260414_000005_move_task_lifecycle_to_specs::Migration),
            Box::new(m20260415_000006_task_executions::Migration),
            Box::new(m20260416_000007_merge_task_specs_into_tasks::Migration),
            Box::new(m20260417_000008_split_task_work_items_to_task_infos::Migration),
            Box::new(m20260418_000009_merge_task_infos_into_tasks::Migration),
            Box::new(m20260419_000010_workflow_columns_to_task_executions::Migration),
            Box::new(m20260420_000011_drop_repos_workspace::Migration),
        ]
    }
}
