pub use sea_orm_migration::prelude::*;

mod m20220101_000001_create_user;
mod m20220101_000002_create_enums;
mod m20220101_000003_create_invite;
mod m20220101_000004_create_recurrence_rule;
mod m20220101_000005_create_todo;
mod m20220101_000006_create_reminder_task;
mod m20220101_000007_create_reminder_task_recipient;
mod m20220101_000008_create_reminder_offset;
mod m20220101_000009_create_notification;
mod m20220101_000010_create_delivery_log;
mod m20260128_000011_modify_todo;
mod m20260129_000012_add_bark_params;
mod m20260129_000013_add_notification_offset_id;
mod m20260129_000014_convert_timestamps_to_timestamptz;
mod m20260129_000015_add_user_invite_id;

pub struct Migrator;

#[async_trait::async_trait]
impl MigratorTrait for Migrator {
    fn migrations() -> Vec<Box<dyn MigrationTrait>> {
        vec![
            Box::new(m20220101_000001_create_user::Migration),
            Box::new(m20220101_000002_create_enums::Migration),
            Box::new(m20220101_000003_create_invite::Migration),
            Box::new(m20220101_000004_create_recurrence_rule::Migration),
            Box::new(m20220101_000005_create_todo::Migration),
            Box::new(m20220101_000006_create_reminder_task::Migration),
            Box::new(m20220101_000007_create_reminder_task_recipient::Migration),
            Box::new(m20220101_000008_create_reminder_offset::Migration),
            Box::new(m20220101_000009_create_notification::Migration),
            Box::new(m20220101_000010_create_delivery_log::Migration),
            Box::new(m20260128_000011_modify_todo::Migration),
            Box::new(m20260129_000012_add_bark_params::Migration),
            Box::new(m20260129_000013_add_notification_offset_id::Migration),
            Box::new(m20260129_000014_convert_timestamps_to_timestamptz::Migration),
            Box::new(m20260129_000015_add_user_invite_id::Migration),
        ]
    }
}
