document-processor/app/models/document_replica_output.py

26 lines
1.1 KiB
Python

from sqlalchemy import Column, DateTime, ForeignKey, Integer, JSON, String
from sqlalchemy.orm import relationship
from sqlalchemy.sql import func
from app.db.base import Base
class DocumentReplicaOutput(Base):
__tablename__ = "document_replica_outputs"
id = Column(Integer, primary_key=True, index=True)
document_id = Column(Integer, ForeignKey("documents.id"), nullable=False, index=True)
replica_layout_version_id = Column(Integer, ForeignKey("document_replica_layout_versions.id"), nullable=False, index=True)
output_type = Column(String, nullable=False)
file_path = Column(String, nullable=False)
sha256 = Column(String, nullable=True)
file_size_bytes = Column(Integer, nullable=True)
created_by = Column(String, nullable=True)
render_settings_json = Column(JSON, nullable=True)
created_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False)
document = relationship("Document", back_populates="replica_outputs")
replica_layout_version = relationship("DocumentReplicaLayoutVersion", back_populates="outputs")