后端重构: - flask_app.py 拆分为 db.py/helpers.py/routes.py/seed_data.py + Blueprint - 删除死代码 init_db/latest_followup,净减 240 行 - migrations 反向依赖消除 财务项目详情: - 新增任务管理 tab(月份/类型/数量/已执行/差额/单价/执行金额/未执行金额) - 新增项目编号、开始/结束时间、项目经理、合同服务费标准(5%-25%下拉) - 科普业务类型新增科普专访、患教会 - task_data JSON 存储任务列表 财务视图: - 只保留总视图和月度视图,去除确收/毛利和回款/应付视图 - 月度视图月份选择器 - 表格统一居中对齐 - 去除流程项目/流程金额卡片
31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
"""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 import(migrations 各子模块依赖 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
|
||
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_seed_users()
|
||
migrate_seed_demo_data()
|