diff --git a/Cargo.lock b/Cargo.lock index c7aa646..5395b8d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -964,7 +964,7 @@ dependencies = [ [[package]] name = "icarus" -version = "0.3.26" +version = "0.3.27" dependencies = [ "axum", "axum-extra", diff --git a/Cargo.toml b/Cargo.toml index 967e4a8..2bc9c48 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "icarus" -version = "0.3.26" +version = "0.3.27" edition = "2024" rust-version = "1.90" diff --git a/src/config/init.rs b/src/config/init.rs index c41029b..3ea950e 100644 --- a/src/config/init.rs +++ b/src/config/init.rs @@ -236,7 +236,7 @@ pub async fn app() -> axum::Router { let pool = crate::db::create_pool() .await .expect("Failed to create pool"); - // TODO: Look into handling this. Seems redundant to run migrations multiple times + crate::db::migrations(&pool).await; let cors = cors::configure_cors().await; diff --git a/src/main.rs b/src/main.rs index af168ff..830d684 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,16 +9,16 @@ async fn main() { // initialize tracing tracing_subscriber::fmt::init(); - let pool = db::create_pool().await.expect("Failed to create pool"); - db::migrations(&pool).await; - - // build our application with a route - let app = config::init::app().await; - - let listener = tokio::net::TcpListener::bind(config::host::get_full()) - .await - .unwrap(); - axum::serve(listener, app).await.unwrap(); + match tokio::net::TcpListener::bind(config::host::get_full()).await { + Ok(listener) => { + // build our application with routes + let app = config::init::app().await; + axum::serve(listener, app).await.unwrap(); + } + Err(err) => { + eprintln!("Error: {err:?}") + } + } } #[cfg(test)]