27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
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())
|