//! PostgreSQL-tilkobling via DATABASE_URL. //! //! Standardisert oppkobling brukt av alle CLI-verktøy. //! Leser DATABASE_URL fra miljøvariabel, oppretter en pool med //! et lite antall connections (CLI-verktøy trenger sjelden mer enn 2). use sqlx::postgres::{PgPool, PgPoolOptions}; /// Opprett en PostgreSQL-pool fra DATABASE_URL miljøvariabel. /// /// Returnerer feil hvis DATABASE_URL ikke er satt eller tilkobling feiler. pub async fn connect() -> Result { let db_url = std::env::var("DATABASE_URL") .map_err(|_| "DATABASE_URL er ikke satt".to_string())?; PgPoolOptions::new() .max_connections(2) .connect(&db_url) .await .map_err(|e| format!("Kunne ikke koble til database: {e}")) } /// Opprett en PostgreSQL-pool med egendefinert maks connections. pub async fn connect_with(max_connections: u32) -> Result { let db_url = std::env::var("DATABASE_URL") .map_err(|_| "DATABASE_URL er ikke satt".to_string())?; PgPoolOptions::new() .max_connections(max_connections) .connect(&db_url) .await .map_err(|e| format!("Kunne ikke koble til database: {e}")) }