""" 操作日志模型 """ from sqlalchemy import Column, BigInteger, String, Integer, DateTime, SmallInteger, Text from sqlalchemy.sql import func from app.core.database import Base class OperationLog(Base): """操作日志表模型""" __tablename__ = "operation_logs" id = Column(BigInteger, primary_key=True, autoincrement=True, comment="日志ID") user_id = Column(BigInteger, index=True, comment="操作用户ID") username = Column(String(50), comment="用户名") operation_type = Column(String(50), nullable=False, comment="操作类型") resource_type = Column(String(50), nullable=False, index=True, comment="资源类型") resource_id = Column(BigInteger, index=True, comment="资源ID") detail = Column(Text, comment="操作详情(JSON)") ip_address = Column(String(50), comment="IP地址") user_agent = Column(String(500), comment="用户代理") status = Column(SmallInteger, default=1, comment="状态:0-失败 1-成功") error_message = Column(Text, comment="错误信息") created_at = Column(DateTime, server_default=func.now(), index=True, comment="操作时间") def __repr__(self): return f""