From f6de558070c4ed4dbecf4bbbf4693e396a5577dc Mon Sep 17 00:00:00 2001 From: Ellie Huxtable Date: Wed, 14 Apr 2021 18:40:50 +0100 Subject: Optimise docker (#34) * Smaller dockerfile, better error handling * Add config dir --- src/remote/database.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/remote/database.rs') diff --git a/src/remote/database.rs b/src/remote/database.rs index ddcffda0..03973ca1 100644 --- a/src/remote/database.rs +++ b/src/remote/database.rs @@ -1,5 +1,6 @@ use diesel::pg::PgConnection; use diesel::prelude::*; +use eyre::{eyre, Result}; use crate::settings::Settings; @@ -7,8 +8,15 @@ use crate::settings::Settings; pub struct AtuinDbConn(diesel::PgConnection); // TODO: connection pooling -pub fn establish_connection(settings: &Settings) -> PgConnection { - let database_url = &settings.server.db_uri; - PgConnection::establish(database_url) - .unwrap_or_else(|_| panic!("Error connecting to {}", database_url)) +pub fn establish_connection(settings: &Settings) -> Result { + if settings.server.db_uri == "default_uri" { + Err(eyre!( + "Please configure your database! Set db_uri in config.toml" + )) + } else { + let database_url = &settings.server.db_uri; + let conn = PgConnection::establish(database_url)?; + + Ok(conn) + } } -- cgit v1.3.1