geforkt von mirrored/vaultwarden
Merge pull request #660 from BlackDex/sqlite-backup-fix
Fixed a bug with the sqlite backup feature.
Dieser Commit ist enthalten in:
Commit
f482585d7c
1 geänderte Dateien mit 5 neuen und 1 gelöschten Zeilen
|
@ -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");
|
||||||
|
|
Laden …
In neuem Issue referenzieren