From cc6735dfe9d16c326b62f8438a7e7658b3756037 Mon Sep 17 00:00:00 2001 From: hz4th_coder Date: Thu, 27 Aug 2026 16:02:01 +0800 Subject: [PATCH] =?UTF-8?q?v1.1.1:=20=E4=BF=AE=E5=A4=8D=E5=A4=87=E4=BB=BDz?= =?UTF-8?q?ip=E5=86=85=E5=A4=87=E4=BB=BD=E7=8A=B6=E6=80=81=E6=BB=9E?= =?UTF-8?q?=E5=90=8E(=E5=85=88=E8=90=BD=E7=9B=98=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E5=86=8D=E6=89=93=E5=8C=85),=20=E5=A4=87=E4=BB=BD=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=8C=85=E5=90=AB=E6=AD=A3=E7=A1=AE=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E6=88=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app.py b/app.py index 75813fa..098ef8e 100644 --- a/app.py +++ b/app.py @@ -309,6 +309,12 @@ def vision_config(): def make_backup(manual=False): """生成备份 zip(数据库 + 上传目录)""" with _lock: + # 先落盘备份状态(让备份文件内包含正确的时间/计数),再 checkpoint 合并 WAL + db = sqlite3.connect(str(DB_PATH)) + set_setting(db, "last_backup_time", _ts()) + set_setting(db, "change_counter", "0") + db.commit() + db.close() c = sqlite3.connect(str(DB_PATH)) try: c.execute("PRAGMA wal_checkpoint(TRUNCATE)") @@ -323,11 +329,6 @@ def make_backup(manual=False): for p in sorted(UPLOAD_DIR.rglob("*")): if p.is_file(): z.write(p, f"data/uploads/{p.relative_to(UPLOAD_DIR)}") - db = sqlite3.connect(str(DB_PATH)) - set_setting(db, "last_backup_time", _ts()) - set_setting(db, "change_counter", "0") - db.commit() - db.close() _prune_backups() return name