Files
Yuzhiran Dev 233e23016c feat: 内容数据迁移至数据库,合规审查全链路打通
- 文章 HTML 存储从文件系统迁移至 articles 表,删除 releases 目录
- 合规审查从 DB 读取 HTML,审查结果写回 DB,通过后自动推进至待发布
- 新增 todayCount 筛选按钮,与系统概览统计数据一致
- 全屏预览修复:提升 z-index 超过侧边栏,添加退出全屏/关闭按钮
- 统一 '优化' → '审查' 命名,消除前后端术语不一致
- 调度器创作完成后自动触发审查(生成 → 审查 → 待发布)
- 清理旧备份/调试文件、过期大纲和研究笔记
2026-05-13 17:33:56 +08:00

37 lines
1.1 KiB
Python

from pathlib import Path
from sqlalchemy.orm import Session
from ..database import SessionLocal
from ..models import Topic
import os
def sync_topic_to_db(topic_id: str, db: Session = None) -> Topic:
close_db = False
if db is None:
db = SessionLocal()
close_db = True
try:
topic = db.query(Topic).filter(Topic.id == topic_id).first()
if not topic:
raise ValueError(f"Topic {topic_id} not found in DB")
return topic
finally:
if close_db:
db.close()
def sync_all_topics():
logger = __import__('logging').getLogger(__name__)
try:
from sqlalchemy import func
db = SessionLocal()
total = db.query(Topic).count()
rows = db.query(Topic.status, func.count(Topic.id)).group_by(Topic.status).all()
by_status = {s: int(c) for s, c in rows}
logger.info(f"sync_all_topics: DB verified — {total} topics total, statuses: {by_status}")
db.close()
except Exception as e:
logger.error(f"sync_all_topics: DB connection failed — {e}")
raise
if __name__ == "__main__":
sync_all_topics()