File size: 1,220 Bytes
e3e5444
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from sqlalchemy import Column, String, Text, Integer, DateTime
from datetime import datetime, timezone
from app.db.database import Base


class AnalysisJob(Base):
    __tablename__ = "analysis_jobs"

    id = Column(String, primary_key=True, index=True)
    filename = Column(String)
    file_path = Column(String)
    status = Column(String, default="uploaded")
    progress_logs = Column(Text, default="")
    error_message = Column(Text, default="")
    result_path = Column(String, nullable=True)
    analytical_questions = Column(Text, nullable=True)
    analysis_plan = Column(Text, nullable=True)
    cleaning_plan = Column(Text, nullable=True)
    created_at = Column(
        DateTime,
        default=lambda: datetime.now(timezone.utc),
        nullable=False
    )


class AnalysisMemory(Base):
    __tablename__ = "analysis_memory"

    id = Column(Integer, primary_key=True, index=True, autoincrement=True)
    job_id = Column(String, index=True, nullable=False)
    schema_fingerprint = Column(String, index=True, nullable=False)
    insights_summary = Column(Text, nullable=False)
    created_at = Column(
        DateTime,
        default=lambda: datetime.now(timezone.utc),
        nullable=False
    )