llm_governance_database/
lib.rs

1use sqlx::postgres::{PgPool, PgPoolOptions};
2use std::time::Duration;
3
4pub async fn create_pool(database_url: &str) -> Result<PgPool, sqlx::Error> {
5    PgPoolOptions::new()
6        .max_connections(50)
7        .min_connections(5)
8        .acquire_timeout(Duration::from_secs(30))
9        .idle_timeout(Duration::from_secs(600))
10        .connect(database_url)
11        .await
12}
13
14pub async fn run_migrations(pool: &PgPool) -> Result<(), sqlx::migrate::MigrateError> {
15    sqlx::migrate!("./migrations").run(pool).await
16}