From e7e93c06f8fbca77e9415a6a4b0e946d1e63490e Mon Sep 17 00:00:00 2001 From: mac Date: Tue, 7 Jul 2026 18:39:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8E=86=E5=8F=B2=E8=B4=B9=E7=94=A8?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=BF=AE=E6=AD=A3=E4=B8=BA=E3=80=8C=E8=AE=A1?= =?UTF-8?q?=E5=85=A5=E8=B4=B9=E7=94=A8=E3=80=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - data_fixes 新增 migrate_fix_expense_status - 将 NULL/空/待审批 的费用状态统一修正为「计入费用」 - 服务启动时自动执行,幂等安全 - 版本号 v1.0.0.6 --- backend/migrations/__init__.py | 3 ++- backend/migrations/data_fixes.py | 20 ++++++++++++++++++++ templates/index.html | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/backend/migrations/__init__.py b/backend/migrations/__init__.py index 77cd8ae..0efdece 100644 --- a/backend/migrations/__init__.py +++ b/backend/migrations/__init__.py @@ -17,7 +17,7 @@ def run_migrations(): """ from migrations.tables import migrate_create_tables from migrations.columns import migrate_add_columns - from migrations.data_fixes import migrate_fix_task_status, migrate_rename_tenant, migrate_drop_product_fields, migrate_fix_service_fee_standard + from migrations.data_fixes import migrate_fix_task_status, migrate_rename_tenant, migrate_drop_product_fields, migrate_fix_service_fee_standard, migrate_fix_expense_status from migrations.data_split import migrate_data_split from migrations.seed import migrate_seed_users, migrate_seed_demo_data @@ -27,6 +27,7 @@ def run_migrations(): migrate_rename_tenant() migrate_drop_product_fields() migrate_fix_service_fee_standard() + migrate_fix_expense_status() migrate_data_split() migrate_seed_users() migrate_seed_demo_data() diff --git a/backend/migrations/data_fixes.py b/backend/migrations/data_fixes.py index 8cfd7bf..65bd756 100644 --- a/backend/migrations/data_fixes.py +++ b/backend/migrations/data_fixes.py @@ -92,3 +92,23 @@ def migrate_fix_service_fee_standard(): print(f"[migrate] project_finances: {affected} 条记录 service_fee_standard 修正为 5") finally: conn.close() + + +def migrate_fix_expense_status(): + """修正 expense_records 中空的 status 为默认值「计入费用」""" + from db import db + + conn = db() + try: + cur = conn.cursor() + cur.execute( + "UPDATE expense_records SET status='计入费用' " + "WHERE status IS NULL OR status='' OR status='待审批'" + ) + affected = cur.rowcount + cur.close() + if affected: + conn.commit() + print(f"[migrate] expense_records: {affected} 条记录 status 修正为 '计入费用'") + finally: + conn.close() diff --git a/templates/index.html b/templates/index.html index f8bcc11..3139b75 100644 --- a/templates/index.html +++ b/templates/index.html @@ -76,7 +76,7 @@
-

OPC Manager v1.0.0.5

+

OPC Manager v1.0.0.6

科普 OPC 工作台