import uuid from sqlalchemy import Column, String, Integer, Float, Text, DateTime, ForeignKey from sqlalchemy.sql import func from app.database import Base class Story(Base): __tablename__ = "stories" id = Column(String, primary_key=True, default=lambda: uuid.uuid4().hex) title = Column(String, nullable=False) summary = Column(Text, default="") tags = Column(Text, default="") # JSON: ["标签1", "标签2", ...] content = Column(Text, default="") raw_material = Column(Text, default="") # JSON: 第四步重组后的素材 speaker_nickname = Column(String, default="") source_transcript_id = Column(String, ForeignKey("transcripts.id"), nullable=False) source_lines = Column(Text, default="") # JSON: {start, end} duration_minutes = Column(Float, default=0) confidence = Column(Float, default=0) confidence_level = Column(String, default="medium") # high/medium/low person_id = Column(String, ForeignKey("persons.id"), nullable=True) match_status = Column(String, default="pending") # pending/matched/deleted created_at = Column(DateTime, server_default=func.now())