session_his.py 1.1 KB

12345678910111213141516171819202122232425
  1. """
  2. 会话历史记录模型
  3. """
  4. from datetime import datetime
  5. from app.utils.timezone import beijing_now_naive
  6. from sqlalchemy import Column, Integer, String, DateTime, Boolean
  7. from app.database import Base
  8. from app.models.history_base import HistoryRecord
  9. class SessionHis(HistoryRecord):
  10. """会话历史记录表"""
  11. __tablename__ = "sessions_his"
  12. id = Column(Integer, primary_key=True, comment="原表主键ID")
  13. session_id = Column(String(64), nullable=False, comment="会话ID")
  14. user_id = Column(Integer, nullable=False, comment="用户ID")
  15. machine_code = Column(String(255), nullable=False, comment="机器码")
  16. is_active = Column(Boolean, default=True, comment="是否激活")
  17. expires_at = Column(DateTime, nullable=False, comment="过期时间")
  18. created_at = Column(DateTime, default=beijing_now_naive, comment="创建时间")
  19. updated_at = Column(DateTime, default=beijing_now_naive, comment="更新时间")
  20. def __repr__(self):
  21. return f"<SessionHis(id={self.id}, session_id='{self.session_id}', his_operation='{self.his_operation}')>"