- ALL_TENANTS / session / seed / migrations 全部同步 - 新增 migrate_rename_tenant() 数据迁移,启动自动 UPDATE 所有表 - migrations/ 模式重构(参考 SalesManager)
29 lines
1.0 KiB
Python
29 lines
1.0 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
|
||
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_seed_users()
|
||
migrate_seed_demo_data()
|