-- V20__Add_share_tracking_fields.sql
-- 添加分享追踪所需的字段

-- 为 link_clicks 表添加 params 和索引
ALTER TABLE link_clicks ADD COLUMN IF NOT EXISTS params TEXT;
CREATE INDEX IF NOT EXISTS idx_link_clicks_created_at ON link_clicks(created_at);

-- 注意: 如果需要存储更多跟踪数据，可以添加以下字段
-- ALTER TABLE link_clicks ADD COLUMN IF NOT EXISTS tracking_id VARCHAR(64);
-- ALTER TABLE link_clicks ADD COLUMN IF NOT EXISTS source VARCHAR(64);
-- ALTER TABLE link_clicks ADD COLUMN IF NOT EXISTS campaign VARCHAR(128);

-- 创建分享统计汇总表 (可选，用于加速查询)
CREATE TABLE IF NOT EXISTS share_daily_stats (
    id BIGSERIAL PRIMARY KEY,
    activity_id BIGINT NOT NULL,
    stat_date DATE NOT NULL,
    total_clicks BIGINT DEFAULT 0,
    unique_visitors BIGINT DEFAULT 0,
    top_source VARCHAR(64),
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    UNIQUE(activity_id, stat_date)
);

CREATE INDEX IF NOT EXISTS idx_share_daily_stats_activity ON share_daily_stats(activity_id);
CREATE INDEX IF NOT EXISTS idx_share_daily_stats_date ON share_daily_stats(stat_date);
