大改,未验证

This commit is contained in:
2026-03-20 16:50:26 +08:00
parent c7ee292c4f
commit e14e3ee7a5
36 changed files with 1419 additions and 4805 deletions

View File

@@ -20,7 +20,7 @@ from src.utils.helpers import setup_logging
from src.core.database import db_manager
from src.core.models import (
Base, WorkOrder, KnowledgeEntry, Conversation, Analytics, Alert, VehicleData,
WorkOrderSuggestion, WorkOrderProcessHistory, User
WorkOrderSuggestion, WorkOrderProcessHistory, User, ChatSession
)
class DatabaseInitializer:
@@ -197,7 +197,8 @@ class DatabaseInitializer:
self._migrate_workorder_dispatch_fields,
self._migrate_workorder_process_history_table,
self._migrate_analytics_enhancements,
self._migrate_system_optimization_fields
self._migrate_system_optimization_fields,
self._migrate_chat_sessions_table,
]
success_count = 0
@@ -445,6 +446,37 @@ class DatabaseInitializer:
return success
def _migrate_chat_sessions_table(self) -> bool:
"""迁移:创建 chat_sessions 表并为 conversations 添加 session_id 字段"""
print(" 检查会话管理表...")
try:
inspector = inspect(db_manager.engine)
# 1. 创建 chat_sessions 表
if 'chat_sessions' not in inspector.get_table_names():
print(" 创建 chat_sessions 表...")
ChatSession.__table__.create(db_manager.engine, checkfirst=True)
print(" chat_sessions 表创建成功")
else:
print(" chat_sessions 表已存在")
# 2. 为 conversations 表添加 session_id 字段
if not self._column_exists('conversations', 'session_id'):
print(" 添加 conversations.session_id 字段...")
self._add_table_columns('conversations', [
('session_id', 'VARCHAR(100)')
])
print(" session_id 字段添加成功")
else:
print(" conversations.session_id 字段已存在")
return True
except Exception as e:
print(f" 会话管理表迁移失败: {e}")
return False
def _add_table_columns(self, table_name: str, fields: List[tuple]) -> bool:
"""为表添加字段"""
try: