工作台重命名:无界·无界 → 学会·无界
- ALL_TENANTS / session / seed / migrations 全部同步 - 新增 migrate_rename_tenant() 数据迁移,启动自动 UPDATE 所有表 - migrations/ 模式重构(参考 SalesManager)
This commit is contained in:
49
backend/migrations/data_fixes.py
Normal file
49
backend/migrations/data_fixes.py
Normal file
@@ -0,0 +1,49 @@
|
||||
"""migrations/data_fixes.py — 数据修正迁移(修复脏数据、变更枚举值)"""
|
||||
|
||||
|
||||
def migrate_fix_task_status():
|
||||
"""修正 project_tasks 中非法的 status 值"""
|
||||
from flask_app import db, _exec, mysql, logger
|
||||
|
||||
conn = db()
|
||||
try:
|
||||
fixes = [
|
||||
"UPDATE project_tasks SET status='未开始' WHERE status='' OR status IS NULL",
|
||||
"UPDATE project_tasks SET status='已结束' WHERE status='done'",
|
||||
"UPDATE project_tasks SET status='进行中' WHERE status='验收中'",
|
||||
]
|
||||
for sql in fixes:
|
||||
try:
|
||||
cur = _exec(conn, sql)
|
||||
affected = cur.rowcount
|
||||
cur.close()
|
||||
if affected:
|
||||
print(f"[migrate] 修正 {affected} 条任务状态")
|
||||
except mysql.connector.Error as e:
|
||||
logger.warning(f"task status fix skipped: {e}")
|
||||
conn.commit()
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
|
||||
def migrate_rename_tenant():
|
||||
"""工作台重命名:无界·无界 → 学会·无界"""
|
||||
from flask_app import db, _exec, mysql
|
||||
|
||||
conn = db()
|
||||
try:
|
||||
tables = ["user_tenants", "sales_leads", "follow_up_records", "business_proposals",
|
||||
"operation_projects", "product_versions", "finance_records", "project_tasks",
|
||||
"project_finances"]
|
||||
for table in tables:
|
||||
try:
|
||||
cur = _exec(conn, f"UPDATE {table} SET tenant='学会·无界' WHERE tenant='无界·无界'")
|
||||
affected = cur.rowcount
|
||||
cur.close()
|
||||
if affected:
|
||||
print(f"[migrate] {table}: {affected} 条记录 tenant 改为 '学会·无界'")
|
||||
except mysql.connector.Error:
|
||||
pass
|
||||
conn.commit()
|
||||
finally:
|
||||
conn.close()
|
||||
Reference in New Issue
Block a user