From 313be247d96131fbea418b826d7b68521c48bd8a Mon Sep 17 00:00:00 2001 From: Brendan Golden Date: Fri, 19 Sep 2025 16:17:29 +0100 Subject: [PATCH] db: these changes should make the "db locked" error less likely relying more on the underlying storage to keep everything safe --- src/common/database.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/common/database.rs b/src/common/database.rs index 2eaf5df..2e676e1 100644 --- a/src/common/database.rs +++ b/src/common/database.rs @@ -7,10 +7,12 @@ use serenity::{ }, prelude::TypeMapKey, }; +use sqlx::sqlite::SqliteJournalMode; use sqlx::{ sqlite::{SqliteConnectOptions, SqlitePoolOptions, SqliteRow}, Error, FromRow, Pool, Row, Sqlite, }; +use std::time::Duration; use std::{str::FromStr, sync::Arc}; pub struct DataBase; @@ -226,7 +228,9 @@ pub async fn db_init(config: &Config) -> Result, Error> { .connect_with( SqliteConnectOptions::from_str(&format!("sqlite://{database}"))? .foreign_keys(true) - .create_if_missing(true), + .create_if_missing(true) + .journal_mode(SqliteJournalMode::Wal) + .busy_timeout(Duration::from_secs(10)), ) .await?;