use sea_orm::{ConnectOptions, Database, DatabaseConnection}; use std::time::Duration; use crate::config::DatabaseConfig; pub async fn connect(config: &DatabaseConfig) -> anyhow::Result { let mut opt = ConnectOptions::new(&config.url); opt.max_connections(config.max_connections) .min_connections(config.min_connections) .connect_timeout(Duration::from_secs(10)) .idle_timeout(Duration::from_secs(600)); let db = Database::connect(opt).await?; tracing::info!("Database connected successfully"); Ok(db) }