File size: 1,047 Bytes
aa08cd6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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())