Files
opc-manager/backend/migrations/__init__.py
mac e7e93c06f8 fix: 历史费用状态修正为「计入费用」
- data_fixes 新增 migrate_fix_expense_status
- 将 NULL/空/待审批 的费用状态统一修正为「计入费用」
- 服务启动时自动执行,幂等安全
- 版本号 v1.0.0.6
2026-07-07 18:39:11 +08:00

34 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""migrations/__init__.py — 数据库自愈机制入口
应用启动时调用 run_migrations(),自动:
1. 建表CREATE TABLE IF NOT EXISTS
2. 加列SHOW COLUMNS 检查后 ALTER TABLE ADD COLUMN
3. 数据修正UPDATE 修复脏数据/变更枚举值)
4. 初始化默认用户和示例数据(仅空库时)
参考 SalesManager 的 migrations/ 模式,所有迁移函数幂等可重复执行。
"""
def run_migrations():
"""执行所有迁移(顺序执行,幂等)
延迟 import 避免 circular importmigrations 各子模块依赖 flask_app 的 db/_exec 等)。
"""
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, migrate_fix_expense_status
from migrations.data_split import migrate_data_split
from migrations.seed import migrate_seed_users, migrate_seed_demo_data
migrate_create_tables()
migrate_add_columns()
migrate_fix_task_status()
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()