from sqlalchemy import Column, Integer, String, DateTime, Float, Boolean, JSON, text from database import Base class AuditLog(Base): __tablename__ = "audit_logs" id = Column(Integer, primary_key=True, index=True) timestamp = Column(DateTime(timezone=True), server_default=text("now()")) service = Column(String(50), nullable=False) action = Column(String(100), nullable=False) old_value = Column(String(100)) new_value = Column(String(100)) reason = Column(String(500)) trigger_metrics = Column(JSON) class ReliabilityEvent(Base): __tablename__ = "reliability_events" id = Column(Integer, primary_key=True, index=True) timestamp = Column(DateTime(timezone=True), server_default=text("now()")) event_type = Column(String(50), nullable=False) service = Column(String(50), nullable=False) severity = Column(String(20), nullable=False) message = Column(String(500), nullable=False) class BenchmarkResult(Base): __tablename__ = "benchmark_results" id = Column(Integer, primary_key=True, index=True) timestamp = Column(DateTime(timezone=True), server_default=text("now()")) test_name = Column(String(100), nullable=False) duration_seconds = Column(Integer, nullable=False) total_requests = Column(Integer, nullable=False) success_rate = Column(Float, nullable=False) p50_latency = Column(Float, nullable=False) p95_latency = Column(Float, nullable=False) p99_latency = Column(Float, nullable=False) has_protection = Column(Boolean, nullable=False) notes = Column(String(500))