use sqlx::PgPool; use sqlx::postgres::PgPoolOptions; use crate::config::AppConfig; pub async fn connect(config: &AppConfig) -> Result { PgPoolOptions::new() .max_connections(config.database.max_connections) .min_connections(config.database.min_connections) .acquire_timeout(config.acquire_timeout()) .idle_timeout(config.idle_timeout()) .connect(&config.database.url) .await } pub async fn migrate(pool: &PgPool) -> Result<(), sqlx::migrate::MigrateError> { sqlx::migrate!("./migrations").run(pool).await }