1
0
Fork 0

Fixed a bug with the sqlite backup feature.

When a custom path is used the backup feature does not work.
Changed it so it will take the path of the sqlite file and use that.
Dieser Commit ist enthalten in:
BlackDex 2019-10-11 12:08:40 +02:00
Ursprung d292269ea0
Commit 2cde814aaa

Datei anzeigen

@ -52,12 +52,16 @@ pub fn get_connection() -> Result<Connection, ConnectionError> {
/// Creates a back-up of the database using sqlite3 /// Creates a back-up of the database using sqlite3
pub fn backup_database() -> Result<(), Error> { pub fn backup_database() -> Result<(), Error> {
use std::path::Path;
let db_url = CONFIG.database_url();
let db_path = Path::new(&db_url).parent().unwrap();
let now: DateTime<Utc> = Utc::now(); let now: DateTime<Utc> = Utc::now();
let file_date = now.format("%Y%m%d").to_string(); let file_date = now.format("%Y%m%d").to_string();
let backup_command: String = format!("{}{}{}", ".backup 'db_", file_date, ".sqlite3'"); let backup_command: String = format!("{}{}{}", ".backup 'db_", file_date, ".sqlite3'");
Command::new("sqlite3") Command::new("sqlite3")
.current_dir("./data") .current_dir(db_path)
.args(&["db.sqlite3", &backup_command]) .args(&["db.sqlite3", &backup_command])
.output() .output()
.expect("Can't open database, sqlite3 is not available, make sure it's installed and available on the PATH"); .expect("Can't open database, sqlite3 is not available, make sure it's installed and available on the PATH");