videoNote / backend /app /db /models /note.py
zhoujiaangyao
feat(db): 配置与笔记迁入 Postgres,重启不丢
aa08cd6
Raw
History Blame Contribute Delete
1.05 kB
from sqlalchemy import Column, String, JSON, DateTime, func
from app.db.engine import Base
class Note(Base):
"""笔记正文与任务状态:原先是 note_results/{task_id}.json 和
{task_id}.status.json 两个本地文件,迁进数据库后重启不丢。
- content: 笔记结果整体(markdown 版本数组 / transcript / audio_meta 等),
对应旧的 {task_id}.json。
- status: 任务状态字典 {status, paused, message?, cache?},
对应旧的 {task_id}.status.json。
两者各自独立 upsert,互不覆盖(状态机先写 status,生成完才写 content)。
转写/音频缓存、_markdown.md、截图等可重建数据仍留在磁盘,不入库。
"""
__tablename__ = "notes"
task_id = Column(String, primary_key=True)
content = Column(JSON, nullable=True)
status = Column(JSON, nullable=True)
created_at = Column(DateTime, server_default=func.now())
updated_at = Column(DateTime, server_default=func.now(), onupdate=func.now())