more error refactoring

This commit is contained in:
2023-08-29 21:34:00 +02:00
parent ccb666f000
commit 3a50f3e9f0
7 changed files with 348 additions and 494 deletions

18
rust/src/sqlite.rs Normal file
View File

@@ -0,0 +1,18 @@
use sqlx::sqlite::{SqliteConnectOptions, SqlitePoolOptions};
pub use sqlx::{Pool, Sqlite};
use std::str::FromStr as _;
use crate::StartError;
pub async fn init_database_pool(url: &str) -> Result<Pool<Sqlite>, StartError> {
Ok(SqlitePoolOptions::new()
.max_connections(5)
.connect_with(SqliteConnectOptions::from_str(url)?.pragma("foreign_keys", "1"))
.await?)
}
pub async fn migrate(pool: &Pool<Sqlite>) -> Result<(), StartError> {
sqlx::migrate!().run(pool).await?;
Ok(())
}