diff --git a/src/db.rs b/src/db.rs index f601da2..99e86c2 100644 --- a/src/db.rs +++ b/src/db.rs @@ -1,14 +1,19 @@ use anyhow::Result; -use sqlx::{sqlite::SqlitePoolOptions, SqlitePool}; +use sqlx::{ + sqlite::{SqliteConnectOptions, SqlitePoolOptions}, + SqlitePool, +}; +use std::str::FromStr; use tracing::info; pub type Pool = SqlitePool; pub async fn init_pool(database_url: &str) -> Result { info!("Connecting to database: {}", database_url); + let opts = SqliteConnectOptions::from_str(database_url)?.create_if_missing(true); let pool = SqlitePoolOptions::new() .max_connections(5) - .connect(database_url) + .connect_with(opts) .await?; sqlx::query("PRAGMA journal_mode=WAL") .execute(&pool)