pub mod runner;
pub mod migration;
pub mod strategies;
pub use runner::MigrationRunner;
pub use migration::Migration;
pub use strategies::ZeroDowntimeStrategy;
use thiserror::Error;
#[derive(Error, Debug)]
pub enum MigrationError {
#[error("Migration failed: {0}")]
MigrationFailed(String),
#[error("Rollback failed: {0}")]
RollbackFailed(String),
#[error("Invalid migration: {0}")]
InvalidMigration(String),
#[error("Database connection failed: {0}")]
ConnectionFailed(String),
}
pub type Result<T> = std::result::Result<T, MigrationError>;