From 5aca6c06a591411f41143ebb9fd011422021ecae Mon Sep 17 00:00:00 2001 From: cclohmar Date: Mon, 1 Jun 2026 23:20:14 +0000 Subject: [PATCH] fix: update mode backs up database before making changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Creates timestamped backup at /opt/receiptnext/backups/expenses-YYYYMMDD-HHMMSS.db - rsync only targets templates/ and static/ — database is never touched --- install.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/install.sh b/install.sh index 502b64c..bde89fe 100755 --- a/install.sh +++ b/install.sh @@ -68,6 +68,15 @@ if [ "${1:-}" = "-update" ]; then cd "$INSTALL_DIR" fi + # Backup the database before making any changes. + if [ -f "$INSTALL_DIR/expenses.db" ]; then + BACKUP_DIR="$INSTALL_DIR/backups" + sudo_if mkdir -p "$BACKUP_DIR" + BACKUP_FILE="$BACKUP_DIR/expenses-$(date +%Y%m%d-%H%M%S).db" + sudo_if cp "$INSTALL_DIR/expenses.db" "$BACKUP_FILE" + info "Database backed up to $BACKUP_FILE" + fi + # Copy updated templates, static assets, and config files. info "Updating templates and static assets..." sudo_if rsync -a --delete templates/ "$INSTALL_DIR/templates/" 2>/dev/null || true