2024-11-12 14:29:27 +01:00
|
|
|
use anyhow::{Context, Result};
|
2024-10-15 12:10:46 +02:00
|
|
|
use sqlx::{sqlite::{SqliteConnectOptions, SqlitePoolOptions}, Pool, Sqlite, ConnectOptions};
|
|
|
|
|
use std::str::FromStr;
|
|
|
|
|
|
|
|
|
|
pub async fn prepare_database(sqlite_db_path: &str) -> Result<Pool<Sqlite>> {
|
|
|
|
|
let conn_str = format!("sqlite:{}", sqlite_db_path);
|
|
|
|
|
|
|
|
|
|
let pool = SqlitePoolOptions::new()
|
|
|
|
|
.max_connections(50)
|
|
|
|
|
.connect_with(
|
|
|
|
|
SqliteConnectOptions::from_str(&conn_str)?
|
|
|
|
|
.log_statements(log::LevelFilter::Trace)
|
|
|
|
|
)
|
|
|
|
|
.await
|
|
|
|
|
.context("could not connect to database_url")?;
|
|
|
|
|
|
|
|
|
|
Ok(pool)
|
|
|
|
|
}
|
|
|
|
|
|