schema-installer 0.2.0

A set of tools to manage relational database schemas
Documentation
use thiserror::Error;

#[derive(Debug, Error)]
pub enum SchemaInstallerError {
    #[error("Database connection error: {0}")]
    Connection(String),

    #[error("Schema parse error: {0}")]
    Parse(String),

    #[error("SQL generation error: {0}")]
    Generation(String),

    #[error("SQL execution error: {0}")]
    Execution(String),

    #[error("IO error: {0}")]
    Io(#[from] std::io::Error),

    #[error("Schema file not found: {0}")]
    SchemaFileNotFound(String),

    #[error("Invalid configuration: {0}")]
    InvalidConfiguration(String),

    #[error("Database error: {0}")]
    Database(String),

    #[error("Checksum mismatch for migration {version}: expected {expected}, found {found}")]
    ChecksumMismatch {
        version: String,
        expected: String,
        found: String,
    },

    #[error("Migration failed for version {version}: {error}")]
    MigrationFailed { version: String, error: String },
}