- 删除 5 个过时/残留文档(project_plan/agent_prompt/optimization_plan/report_db_design/deploy/README) - 新建 docs/architecture.md(项目架构:11 包职责+数据模型+配置+产物) - 重写 docs/user-guide.md(CLI 全量+增量/断点续跑+MCP+FAQ) - 重写 README.md(精简入口+文档索引) - 更新 continuation.md(追加本次记录) - 更新 .gitignore(排除 data/* 运行产物)
51 lines
2.5 KiB
Python
51 lines
2.5 KiB
Python
"""MySQL DDL:日报结构化入库(表前缀 news_,目标 MariaDB 10.11)。
|
|
|
|
与 project_plan.md「十八、Milestone 10」及 docs/report_db_design.md 保持一致。
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
DDL_STATEMENTS: list[str] = [
|
|
# 日报主表
|
|
"""
|
|
CREATE TABLE IF NOT EXISTS news_report (
|
|
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
|
report_date DATE NOT NULL COMMENT '日报日期',
|
|
report_type VARCHAR(16) NOT NULL COMMENT 'finance=A股日报 / intl=国际财经日报',
|
|
file_name VARCHAR(160) NOT NULL DEFAULT '' COMMENT '源文件名(历史解析);新生成可为空',
|
|
generated_at DATETIME NOT NULL COMMENT '生成时间',
|
|
ai_summary TEXT NULL COMMENT 'AI 摘要全文',
|
|
stats JSON NULL COMMENT '数据总览统计快照(管道/情绪/重要度/事件类型/来源分布)',
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
UNIQUE KEY uk_report_file (report_date, report_type, file_name),
|
|
KEY idx_report_date (report_date)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='每日日报主表'
|
|
""",
|
|
# 日报事件明细
|
|
"""
|
|
CREATE TABLE IF NOT EXISTS news_event (
|
|
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
|
report_id BIGINT UNSIGNED NOT NULL COMMENT 'FK → news_report.id',
|
|
section VARCHAR(16) NOT NULL COMMENT '板块: xwlb=新闻联播 / news=财经新闻 / cninfo=公告调研 / intl=国际重要事件',
|
|
rank INT NOT NULL DEFAULT 0 COMMENT '板块内序号',
|
|
importance INT NULL COMMENT '重要度 1-5',
|
|
event_type VARCHAR(64) NULL COMMENT '事件类型',
|
|
title VARCHAR(512) NOT NULL COMMENT '标题',
|
|
summary TEXT NULL COMMENT '摘要/正文',
|
|
sentiment VARCHAR(8) NULL COMMENT 'positive/negative/neutral',
|
|
source VARCHAR(64) NULL COMMENT '主来源',
|
|
sources TEXT NULL COMMENT '全部来源 JSON 数组(主源居首),多源新闻记录',
|
|
url VARCHAR(512) NULL COMMENT '原文链接',
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
KEY idx_report_section (report_id, section),
|
|
KEY idx_title (title(255))
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='日报事件明细'
|
|
""",
|
|
]
|
|
|
|
# 旧库迁移:为已存在的 news_event 表补充 sources 列(MySQL 无 ADD COLUMN IF NOT EXISTS)
|
|
_ALTER_ADD_SOURCES = (
|
|
"ALTER TABLE news_event ADD COLUMN sources TEXT NULL "
|
|
"COMMENT '全部来源 JSON 数组(主源居首),多源新闻记录' AFTER source"
|
|
)
|