Put database into specified file directory
This commit is contained in:
parent
f9c2cfb618
commit
b16eb710dd
@ -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 })
|
||||||
}
|
}
|
||||||
|
@ -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();
|
||||||
|
@ -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 {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user