use thiserror::Error;
#[derive(Debug, Error)]
pub enum DbError {
#[error("database connection failed (url: {url}): {source}")]
Connection {
url: String,
#[source]
source: sqlx::Error,
},
#[error("database migration failed: {0}")]
Migration(#[from] sqlx::migrate::MigrateError),
#[error("database I/O error: {0}")]
Io(#[from] std::io::Error),
#[error("database error: {0}")]
Sqlx(#[from] sqlx::Error),
}