From fedb4e7c7ebf21619f89c29d011e288363a978e9 Mon Sep 17 00:00:00 2001 From: Joris Date: Thu, 6 Feb 2025 21:15:32 +0100 Subject: Use anyhow Error --- src/db/mod.rs | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/db/mod.rs') diff --git a/src/db/mod.rs b/src/db/mod.rs index f5facd1..1282f0c 100644 --- a/src/db/mod.rs +++ b/src/db/mod.rs @@ -1,6 +1,25 @@ +use anyhow::{Error, Result}; +use tokio_rusqlite::Connection; + pub mod categories; pub mod incomes; pub mod jobs; pub mod payments; pub mod users; -pub mod utils; +mod utils; + +pub async fn init(path: &str) -> Result { + let connection = Connection::open(path).await.map_err(|err| { + Error::msg(format!("Error opening connection: {err}")) + })?; + + support_foreign_keys(&connection).await?; + + Ok(connection) +} + +async fn support_foreign_keys(conn: &Connection) -> Result<()> { + Ok(conn + .call(move |conn| Ok(conn.pragma_update(None, "foreign_keys", "ON"))) + .await??) +} -- cgit v1.2.3