""" PPT 簡報資料庫持久化模型 用於儲存生成的簡報,避免重複計算 """ from sqlalchemy import Column, Integer, String, DateTime, Text, Float from sqlalchemy.orm import declarative_base from datetime import datetime Base = declarative_base() class PPTReport(Base): """PPT 簡報記錄表""" __tablename__ = 'ppt_reports' id = Column(Integer, primary_key=True) report_type = Column(String(50), nullable=False, index=True) # growth/vendor/bcg parameters = Column(Text) # JSON 字串,記錄查詢參數 file_path = Column(String(500)) # 生成檔案路徑 file_size = Column(Integer) # 檔案大小 generated_at = Column(DateTime, default=datetime.now, index=True) expires_at = Column(DateTime, index=True) # 過期時間 # 資料快取(JSON 字串) cached_data = Column(Text) # 儲存查詢結果,避免重複計算 def __repr__(self): return f""