stock-ai-agent/scripts/schema_news.sql
2026-02-25 19:59:20 +08:00

46 lines
1.8 KiB
SQL

-- 新闻文章表建表 SQL
-- 使用方法: sqlite3 backend/stock_agent.db < schema_news.sql
CREATE TABLE IF NOT EXISTS news_articles (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title VARCHAR(500) NOT NULL,
content TEXT,
content_hash VARCHAR(64) NOT NULL,
url VARCHAR(1000) NOT NULL UNIQUE,
source VARCHAR(100) NOT NULL,
author VARCHAR(200),
category VARCHAR(50) NOT NULL,
tags JSON,
published_at DATETIME,
crawled_at DATETIME NOT NULL,
llm_analyzed BOOLEAN DEFAULT 0,
market_impact VARCHAR(20),
impact_type VARCHAR(50),
relevant_symbols JSON,
sentiment VARCHAR(20),
summary TEXT,
key_points JSON,
trading_advice TEXT,
priority REAL DEFAULT 0.0,
priority_reason TEXT,
notified BOOLEAN DEFAULT 0,
notification_sent_at DATETIME,
notification_channel VARCHAR(50),
quality_score REAL,
duplicate_of INTEGER,
is_active BOOLEAN DEFAULT 1,
created_at DATETIME NOT NULL,
updated_at DATETIME NOT NULL
);
-- 创建索引
CREATE INDEX IF NOT EXISTS idx_news_articles_content_hash ON news_articles(content_hash);
CREATE INDEX IF NOT EXISTS idx_news_articles_category ON news_articles(category);
CREATE INDEX IF NOT EXISTS idx_news_articles_published_at ON news_articles(published_at);
CREATE INDEX IF NOT EXISTS idx_news_articles_crawled_at ON news_articles(crawled_at);
CREATE INDEX IF NOT EXISTS idx_news_articles_llm_analyzed ON news_articles(llm_analyzed);
CREATE INDEX IF NOT EXISTS idx_news_articles_priority ON news_articles(priority);
CREATE INDEX IF NOT EXISTS idx_news_articles_notified ON news_articles(notified);
CREATE INDEX IF NOT EXISTS idx_news_articles_is_active ON news_articles(is_active);
CREATE INDEX IF NOT EXISTS idx_news_articles_created_at ON news_articles(created_at);