commit f482585d7c0e3d9d5e361f4088882647b6356116
parent d292269ea069af7ebd342548d42bb7810848eca2
Author: Daniel GarcĂa <dani-garcia@users.noreply.github.com>
Date:   Fri, 11 Oct 2019 15:07:21 +0200
Merge pull request #660 from BlackDex/sqlite-backup-fix
Fixed a bug with the sqlite backup feature.
Diffstat:
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/db/mod.rs b/src/db/mod.rs
@@ -52,12 +52,16 @@ pub fn get_connection() -> Result<Connection, ConnectionError> {
 
 /// Creates a back-up of the database using sqlite3
 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 file_date = now.format("%Y%m%d").to_string();
     let backup_command: String = format!("{}{}{}", ".backup 'db_", file_date, ".sqlite3'");
 
     Command::new("sqlite3")
-        .current_dir("./data")
+        .current_dir(db_path)
         .args(&["db.sqlite3", &backup_command])
         .output()
         .expect("Can't open database, sqlite3 is not available, make sure it's installed and available on the PATH");