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 sqlx::{migrate::MigrateDatabase, Sqlite, SqlitePool};
@ -8,8 +10,9 @@ pub struct Database {
}
impl Database {
pub async fn setup(database_path: &str) -> sqlx::Result<Self> {
let connection = Database::create_connection(database_path).await?;
pub async fn setup(database_path: impl AsRef<Path>) -> sqlx::Result<Self> {
let connection =
Database::create_connection(database_path.as_ref().to_str().unwrap()).await?;
sqlx::migrate!("./db-migrations").run(&connection).await?;
Ok(Database { connection })
}

View File

@ -32,7 +32,9 @@ async fn main() {
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();
let sheets = database.fetch_all_sheets().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 {
let label = match &value {
SheetModelType::Sheet { sheet } => sheet.name.to_string(),
SheetModelType::Orphan { orphan } => {
orphan
.path
.file_name()
.unwrap()
.to_str()
.unwrap()
.to_string()
+ " "
+ &orphan.last_opened.to_string()
}
SheetModelType::Orphan { orphan } => orphan
.path
.file_name()
.unwrap()
.to_str()
.unwrap()
.to_string(),
};
SheetModel {