operation_log.py 1.1 KB

12345678910111213141516171819202122232425
  1. """
  2. 操作日志模型
  3. """
  4. from sqlalchemy import Column, BigInteger, Integer, String, DateTime, ForeignKey, Text, SmallInteger
  5. from sqlalchemy.orm import relationship
  6. from app.database import Base
  7. class OperationLog(Base):
  8. """操作日志表"""
  9. __tablename__ = "operation_logs"
  10. id = Column(BigInteger, primary_key=True, index=True, comment="主键ID")
  11. admin_id = Column(Integer, ForeignKey("admins.id"), index=True, comment="管理员ID")
  12. module = Column(String(50), index=True, comment="操作模块")
  13. action = Column(String(50), index=True, comment="操作动作")
  14. description = Column(String(500), comment="操作描述")
  15. old_data = Column(Text, comment="操作前数据(JSON)")
  16. new_data = Column(Text, comment="操作后数据(JSON)")
  17. ip_address = Column(String(50), comment="IP地址")
  18. is_deleted = Column(SmallInteger, default=0, index=True, comment="是否删除:0-否,1-是")
  19. created_at = Column(DateTime, index=True, comment="操作时间")
  20. # 关系
  21. admin = relationship("Admin", back_populates="operation_logs")