database.rs 17 lignes · 555 octets
use sea_orm::{Database, DatabaseConnection};
use std::env;

/// Create a database connection from environment variables
///
/// Reads DATABASE_URL and connects to PostgreSQL via SeaORM.
pub async fn create_connection() -> Result<DatabaseConnection, sea_orm::DbErr> {
    let database_url = env::var("DATABASE_URL").map_err(|_| {
        sea_orm::DbErr::Custom("DATABASE_URL environment variable not set".to_string())
    })?;

    let conn = Database::connect(&database_url).await?;

    tracing::info!("Database connection established");

    Ok(conn)
}