use sqlx::{migrate::Migrator, PgPool};
use std::path::{Path, PathBuf};
pub async fn migrate(
path: Option<PathBuf>,
) -> Result<(), Box<dyn std::error::Error>> {
dotenvy::dotenv().ok();
let path = path.unwrap_or_else(|| PathBuf::from("./misc/migrations"));
tracing::info!(target: "migration", "Running from: {:?}", path);
let pool = PgPool::connect(&std::env::var("DATABASE_URL")?).await?;
let migrator = Migrator::new(Path::new(&path)).await?;
migrator.run(&pool).await?;
Ok(())
}