2024-04-28 20:23:19 -04:00
|
|
|
use sqlx::postgres::{PgPool, PgPoolOptions};
|
|
|
|
|
use std::env;
|
|
|
|
|
use std::error::Error;
|
2024-04-28 14:20:23 -04:00
|
|
|
|
2024-04-28 20:23:19 -04:00
|
|
|
pub async fn establish_connection() -> Result<PgPool, Box<dyn Error>> {
|
|
|
|
|
let db_url = match env::var("DATABASE_URL") {
|
|
|
|
|
Ok(s) => s,
|
|
|
|
|
Err(_) => panic!("No database environment variable set"),
|
|
|
|
|
};
|
2024-04-28 14:20:23 -04:00
|
|
|
|
2024-04-28 20:23:19 -04:00
|
|
|
let pool = PgPoolOptions::new()
|
|
|
|
|
.max_connections(5)
|
|
|
|
|
.connect(&db_url)
|
2024-04-28 14:20:23 -04:00
|
|
|
.await?;
|
|
|
|
|
|
2024-04-28 20:23:19 -04:00
|
|
|
Ok(pool)
|
2024-04-28 14:20:23 -04:00
|
|
|
}
|