from sqlalchemy import Column, Integer, String, Text, DateTime, ForeignKey from sqlalchemy.sql import func from app.database import Base class SystemConfig(Base): __tablename__ = "system_config" __table_args__ = {'schema': 'aigcspace'} id = Column(Integer, primary_key=True, index=True) config_key = Column(String(100), unique=True, nullable=False, index=True) config_value = Column(Text, nullable=False) config_type = Column(String(20), nullable=False) category = Column(String(50), nullable=False, index=True) description = Column(String(500)) updated_by = Column(Integer, ForeignKey("aigcspace.admin_users.id")) updated_at = Column(DateTime, default=func.now(), onupdate=func.now()) created_at = Column(DateTime, default=func.now()) class ConfigHistory(Base): __tablename__ = "config_history" __table_args__ = {'schema': 'aigcspace'} id = Column(Integer, primary_key=True, index=True) config_key = Column(String(100), nullable=False, index=True) old_value = Column(Text) new_value = Column(Text, nullable=False) updated_by = Column(Integer, ForeignKey("aigcspace.admin_users.id")) updated_at = Column(DateTime, default=func.now(), index=True)