use crate::sea_orm::DatabaseConnection;
use crate::sea_orm_migration::MigratorTrait;
use doido_core::Result;
pub async fn rollback<M: MigratorTrait>(conn: &DatabaseConnection, steps: u32) -> Result<()> {
M::down(conn, Some(steps))
.await
.map_err(|e| doido_core::anyhow::anyhow!("rollback failed: {e}"))
}
pub async fn redo<M: MigratorTrait>(conn: &DatabaseConnection, steps: u32) -> Result<()> {
M::down(conn, Some(steps))
.await
.map_err(|e| doido_core::anyhow::anyhow!("redo down failed: {e}"))?;
M::up(conn, Some(steps))
.await
.map_err(|e| doido_core::anyhow::anyhow!("redo up failed: {e}"))
}