diff --git a/src/cli/command.rs b/src/cli/command.rs index 6730592..38ebae6 100644 --- a/src/cli/command.rs +++ b/src/cli/command.rs @@ -1,10 +1,12 @@ use clap::{Parser, Subcommand}; +/// Tool collection for work at RCC. +/// Make sure have some config files in your config folder .config/rcc/ +/// with live and stage as environment. Containing DB_USER, DB_PASSWORD, DB_LOCATION, DB_PORT. #[derive(Parser)] #[command(name = "RCC")] #[command(author = "Mathias Rothenhaeusler")] #[command(version = "1.0")] -#[command(about = "Tool collection for work at RCC.", long_about = None)] pub struct Cli { #[arg(short = 'e', long = "env")] pub env: Option, diff --git a/src/database/db.rs b/src/database/db.rs index bb5e6d3..b7930aa 100644 --- a/src/database/db.rs +++ b/src/database/db.rs @@ -39,19 +39,21 @@ impl Db { ))) })?; - let location: String = env::var("LOCATION").unwrap_or_else(|_| "localhost".to_string()); - let user: String = env::var("USERNAME") - .map_err(|_| Box::new(InitError("Missing USERNAME in dotenv file.".to_string())))?; - let port: String = env::var("PORT").unwrap_or_else(|_| "3306".to_string()); - let password: String = env::var("PASSWORD") - .map_err(|_| Box::new(InitError("Missing PASSWORD in dotenv file.".to_string())))?; + let location: String = env::var("DB_LOCATION").unwrap_or_else(|_| "localhost".to_string()); + let user: String = env::var("DB_USERNAME") + .map_err(|_| Box::new(InitError("Missing DB_USERNAME in dotenv file.".to_string())))?; + let port: String = env::var("DB_PORT").unwrap_or_else(|_| "3306".to_string()); + let password: String = env::var("DB_PASSWORD") + .map_err(|_| Box::new(InitError("Missing DB_PASSWORD in dotenv file.".to_string())))?; let db_name: String = env::var("DB").unwrap_or_else(|_| "efulfilment".to_string()); let url: String = format!( "mysql://{}:{}@{}:{}/{}", user, password, location, port, db_name ); - let pool: Pool = Pool::new_manual(1, 2, Opts::from_url(&url)?)?; + let pool: Pool = Pool::new_manual(1, 2, Opts::from_url(&url)?).map_err(|e| { + format!("Problem with connection User: {user}, location {location}, port {port}: {e}") + })?; let database: Db = Self { pool: Arc::new(Mutex::new(pool)), };