Put database into specified file directory

This commit is contained in:
Julian Mutter 2024-02-07 20:31:07 +01:00
parent f9c2cfb618
commit b16eb710dd
3 changed files with 15 additions and 14 deletions

View File

@ -1,3 +1,5 @@
use std::path::Path;
use log::debug; use log::debug;
use sqlx::{migrate::MigrateDatabase, Sqlite, SqlitePool}; use sqlx::{migrate::MigrateDatabase, Sqlite, SqlitePool};
@ -8,8 +10,9 @@ pub struct Database {
} }
impl Database { impl Database {
pub async fn setup(database_path: &str) -> sqlx::Result<Self> { pub async fn setup(database_path: impl AsRef<Path>) -> sqlx::Result<Self> {
let connection = Database::create_connection(database_path).await?; let connection =
Database::create_connection(database_path.as_ref().to_str().unwrap()).await?;
sqlx::migrate!("./db-migrations").run(&connection).await?; sqlx::migrate!("./db-migrations").run(&connection).await?;
Ok(Database { connection }) Ok(Database { connection })
} }

View File

@ -32,7 +32,9 @@ async fn main() {
process::exit(1); process::exit(1);
} }
let database = Database::setup("./testdb.sqlite").await.unwrap(); let database = Database::setup(cli.directory.join("database.sqlite"))
.await
.unwrap();
// database.insert_sheet(Sheet::new_debug()).await.unwrap(); // database.insert_sheet(Sheet::new_debug()).await.unwrap();
let sheets = database.fetch_all_sheets().await.unwrap(); let sheets = database.fetch_all_sheets().await.unwrap();
let orphan_files = database.fetch_all_orphan_files().await.unwrap(); let orphan_files = database.fetch_all_orphan_files().await.unwrap();

View File

@ -83,17 +83,13 @@ impl FactoryComponent for SheetModel {
fn init_model(value: Self::Init, _index: &DynamicIndex, _sender: FactorySender<Self>) -> Self { fn init_model(value: Self::Init, _index: &DynamicIndex, _sender: FactorySender<Self>) -> Self {
let label = match &value { let label = match &value {
SheetModelType::Sheet { sheet } => sheet.name.to_string(), SheetModelType::Sheet { sheet } => sheet.name.to_string(),
SheetModelType::Orphan { orphan } => { SheetModelType::Orphan { orphan } => orphan
orphan .path
.path .file_name()
.file_name() .unwrap()
.unwrap() .to_str()
.to_str() .unwrap()
.unwrap() .to_string(),
.to_string()
+ " "
+ &orphan.last_opened.to_string()
}
}; };
SheetModel { SheetModel {