"""迁移脚本:创建会话表。""" import logging from insurance.db.compat import db def migrate(): """创建 insurance_chat_sessions 表。""" try: # 检查表是否已存在 from sqlalchemy import inspect inspector = inspect(db.engine) if 'insurance_chat_sessions' in inspector.get_table_names(): logging.info("表 insurance_chat_sessions 已存在,跳过创建") return # 使用 SQLAlchemy 创建表 from insurance.models.chat_session import ChatSession ChatSession.__table__.create(db.engine, checkfirst=True) logging.info("表 insurance_chat_sessions 创建成功") except Exception as e: logging.error(f"创建表失败: {e}") db.session.rollback() raise def downgrade(): """删除 insurance_chat_sessions 表。""" try: from insurance.models.chat_session import ChatSession ChatSession.__table__.drop(db.engine, checkfirst=True) logging.info("表 insurance_chat_sessions 已删除") except Exception as e: logging.error(f"删除表失败: {e}") db.session.rollback() raise if __name__ == "__main__": # 直接运行迁移 import sys sys.path.insert(0, ".") from app import app with app.app_context(): migrate() print("迁移完成")