From 4cc5d41e391ce90335bc195e95f6e3f7c9ef7603 Mon Sep 17 00:00:00 2001 From: Mavis Date: Mon, 8 Jun 2026 16:08:39 +0800 Subject: [PATCH] =?UTF-8?q?fix(orm):=20Article=20=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=8A=A0=20body=5Fzh=5Fformatted/image=5Fai=5Furl/4=20?= =?UTF-8?q?=E4=B8=AA=20*=5Fstatus=20=E5=AD=97=E6=AE=B5(=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=200002=20migration)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/models/article.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/backend/app/models/article.py b/backend/app/models/article.py index 369c6cb..a82448e 100644 --- a/backend/app/models/article.py +++ b/backend/app/models/article.py @@ -48,6 +48,7 @@ class Article(Base): title_zh: Mapped[str | None] = mapped_column(Text) body_zh_html: Mapped[str | None] = mapped_column(Text) body_zh_text: Mapped[str | None] = mapped_column(Text) + body_zh_formatted: Mapped[str | None] = mapped_column(Text) # LLM 排版后 summary_zh: Mapped[str | None] = mapped_column(Text) # === 翻译状态 === @@ -60,6 +61,23 @@ class Article(Base): translation_chars: Mapped[int] = mapped_column(Integer, default=0, nullable=False) translated_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True)) + # === LLM 增强状态(每个独立状态)=== + format_status: Mapped[str] = mapped_column( + String(16), default="n/a", nullable=False + ) # pending/ok/failed/n/a + classify_status: Mapped[str] = mapped_column( + String(16), default="n/a", nullable=False + ) + image_ai_status: Mapped[str] = mapped_column( + String(16), default="n/a", nullable=False + ) + commentary_status: Mapped[str] = mapped_column( + String(16), default="n/a", nullable=False + ) + + # === LLM 增强内容 === + image_ai_url: Mapped[str | None] = mapped_column(Text) # AI 生成的插图 + # === ML 字段(预留,MVP 全 null)=== category: Mapped[str | None] = mapped_column(String(32), index=True) commentary: Mapped[str | None] = mapped_column(Text)