Files
llm-intelligence/db/migrations/012_daily_signal_snapshot.sql
phamnazage-jpg 958245537a feat(imports): add real pricing and subscription collectors
Add plan catalog and subscription schema support, seed baselines, and real importers for core domestic subscriptions plus stable official pricing sources.

This commit also hardens the shared fetch layers so the importers can support live collection and database writes instead of relying on manual placeholders alone.
2026-05-15 22:32:57 +08:00

42 lines
1.6 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 第一模块:每日关键信号快照
CREATE TABLE IF NOT EXISTS daily_signal_snapshot (
id BIGSERIAL PRIMARY KEY,
signal_date DATE NOT NULL UNIQUE,
status TEXT NOT NULL DEFAULT 'generated',
new_models INTEGER NOT NULL DEFAULT 0,
price_changes INTEGER NOT NULL DEFAULT 0,
official_free INTEGER NOT NULL DEFAULT 0,
aggregator_free INTEGER NOT NULL DEFAULT 0,
unknown_free INTEGER NOT NULL DEFAULT 0,
event_count INTEGER NOT NULL DEFAULT 0,
page_mode TEXT NOT NULL DEFAULT 'standard',
event_type_counts JSONB NOT NULL DEFAULT '{}'::jsonb,
top_events JSONB NOT NULL DEFAULT '[]'::jsonb,
source_audit TEXT,
generated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX IF NOT EXISTS idx_daily_signal_snapshot_date ON daily_signal_snapshot(signal_date);
CREATE INDEX IF NOT EXISTS idx_daily_signal_snapshot_status ON daily_signal_snapshot(status);
COMMENT ON TABLE daily_signal_snapshot IS '第一模块产出的每日关键信号快照,用于日报与其他下游形态消费';
COMMENT ON COLUMN daily_signal_snapshot.top_events IS '已筛选的关键事件数组JSONB 序列化 ModelEvent';
COMMENT ON COLUMN daily_signal_snapshot.event_type_counts IS '按事件类型聚合的数量统计';
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1
FROM pg_trigger
WHERE tgname = 'daily_signal_snapshot_updated_at'
) THEN
CREATE TRIGGER daily_signal_snapshot_updated_at
BEFORE UPDATE ON daily_signal_snapshot
FOR EACH ROW
EXECUTE FUNCTION update_updated_at_column();
END IF;
END
$$;