34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
"""
|
|
Upload History model for tracking file uploads
|
|
"""
|
|
from sqlalchemy import Column, Integer, String, DateTime, Text
|
|
from sqlalchemy.sql import func
|
|
from app.db.base import Base
|
|
|
|
|
|
class UploadHistory(Base):
|
|
"""
|
|
Upload history tracking
|
|
Stores information about uploaded files and their processing status
|
|
"""
|
|
__tablename__ = "upload_history"
|
|
__table_args__ = {'schema': 'fastapi'}
|
|
|
|
id = Column(Integer, primary_key=True, index=True)
|
|
upload_id = Column(String, unique=True, index=True, nullable=False)
|
|
filename = Column(String, nullable=False)
|
|
filepath = Column(String, nullable=False)
|
|
description = Column(Text)
|
|
status = Column(String, default="pending")
|
|
job_id = Column(String)
|
|
logs = Column(Text)
|
|
uploaded_by = Column(String)
|
|
uploaded_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False)
|
|
updated_at = Column(DateTime(timezone=True), onupdate=func.now())
|
|
|
|
airflow_dag_run_id = Column(String)
|
|
airflow_state = Column(String)
|
|
processing_started_at = Column(DateTime(timezone=True))
|
|
processing_completed_at = Column(DateTime(timezone=True))
|
|
error_message = Column(Text)
|