mod m20260318_000001_create_todo_items;
pub use sea_orm_migration::prelude::*;
use sea_orm::DatabaseConnection;
use crate::error::AppError;
pub struct Migrator;
#[async_trait::async_trait]
impl MigratorTrait for Migrator {
fn migrations() -> Vec<Box<dyn MigrationTrait>> {
vec![Box::new(m20260318_000001_create_todo_items::Migration)]
}
}
pub async fn connect(db_url: &str) -> Result<DatabaseConnection, AppError> {
sea_orm::Database::connect(db_url)
.await
.map_err(AppError::Db)
}
pub async fn run_migrations(conn: &DatabaseConnection) -> Result<(), AppError> {
use sea_orm_migration::MigratorTrait;
<Migrator as MigratorTrait>::up(conn, None)
.await
.map_err(|e| AppError::Init(e.to_string()))?;
Ok(())
}