surendra kumar
deploy
47b4127
Raw
History Blame Contribute Delete
1.35 kB
from sqlalchemy import JSON, Column, DateTime, Integer, String, Text, UniqueConstraint
from .db import Base
from .time_utils import now_ist
class ResearchRunRecord(Base):
__tablename__ = "research_runs"
id = Column(String(64), primary_key=True)
status = Column(String(32), nullable=False, index=True)
input_type = Column(String(32), nullable=False, index=True)
input_payload = Column(JSON, nullable=False)
report_payload = Column(JSON, nullable=True)
error_message = Column(Text, nullable=True)
created_at = Column(DateTime(timezone=True), nullable=False, default=now_ist)
updated_at = Column(DateTime(timezone=True), nullable=False, default=now_ist, onupdate=now_ist)
completed_at = Column(DateTime(timezone=True), nullable=True)
class ArtifactCacheRecord(Base):
__tablename__ = "artifact_cache"
__table_args__ = (UniqueConstraint("source", "cache_key", name="uq_source_cache_key"),)
id = Column(Integer, primary_key=True, autoincrement=True)
source = Column(String(64), nullable=False, index=True)
cache_key = Column(String(255), nullable=False, index=True)
payload = Column(JSON, nullable=False)
created_at = Column(DateTime(timezone=True), nullable=False, default=now_ist)
updated_at = Column(DateTime(timezone=True), nullable=False, default=now_ist, onupdate=now_ist)