from sqlalchemy import Column, DateTime, ForeignKey, Integer, String, Text from sqlalchemy.sql import func from database import Base class AuditLog(Base): """安全审计日志:记录登录、权限变更、内容发布、敏感操作等。""" __tablename__ = "audit_logs" id = Column(Integer, primary_key=True, index=True) user_id = Column(Integer, nullable=True, index=True) username = Column(String(100), default="") action = Column(String(64), nullable=False, index=True) target_type = Column(String(32), default="") target_id = Column(String(64), default="") detail = Column(Text, default="") ip = Column(String(64), default="") user_agent = Column(String(255), default="") status = Column(String(16), default="success") # success / failed / denied created_at = Column(DateTime, server_default=func.now())