config.py 1.2 KB

12345678910111213141516171819202122232425262728
  1. from sqlalchemy import Column, Integer, String, Text, DateTime, ForeignKey
  2. from sqlalchemy.sql import func
  3. from app.database import Base
  4. class SystemConfig(Base):
  5. __tablename__ = "system_config"
  6. __table_args__ = {'schema': 'aigcspace'}
  7. id = Column(Integer, primary_key=True, index=True)
  8. config_key = Column(String(100), unique=True, nullable=False, index=True)
  9. config_value = Column(Text, nullable=False)
  10. config_type = Column(String(20), nullable=False)
  11. category = Column(String(50), nullable=False, index=True)
  12. description = Column(String(500))
  13. updated_by = Column(Integer, ForeignKey("aigcspace.admin_users.id"))
  14. updated_at = Column(DateTime, default=func.now(), onupdate=func.now())
  15. created_at = Column(DateTime, default=func.now())
  16. class ConfigHistory(Base):
  17. __tablename__ = "config_history"
  18. __table_args__ = {'schema': 'aigcspace'}
  19. id = Column(Integer, primary_key=True, index=True)
  20. config_key = Column(String(100), nullable=False, index=True)
  21. old_value = Column(Text)
  22. new_value = Column(Text, nullable=False)
  23. updated_by = Column(Integer, ForeignKey("aigcspace.admin_users.id"))
  24. updated_at = Column(DateTime, default=func.now(), index=True)