topfans/backend/migrations/2026_06_25_001_share_events.sql

25 lines
1.3 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.

-- 2026_06_25_001_share_events.sql
-- 分享事件追踪表spec: docs/superpowers/specs/2026-06-11-share-modal-redesign-design.md § 3.5
CREATE TABLE IF NOT EXISTS public.share_events (
id BIGSERIAL PRIMARY KEY,
asset_id BIGINT NOT NULL,
sharer_user_id BIGINT NOT NULL,
system_type VARCHAR(32) NOT NULL,
share_target VARCHAR(32) NOT NULL,
result VARCHAR(32) NOT NULL,
client_ts BIGINT NOT NULL,
server_ts BIGINT NOT NULL DEFAULT (EXTRACT(EPOCH FROM NOW()) * 1000)::BIGINT,
extra JSONB DEFAULT '{}'::jsonb,
CONSTRAINT fk_share_events_sharer FOREIGN KEY (sharer_user_id)
REFERENCES public.users(id) ON DELETE RESTRICT
);
CREATE INDEX IF NOT EXISTS idx_share_events_asset_id ON public.share_events (asset_id);
CREATE INDEX IF NOT EXISTS idx_share_events_sharer ON public.share_events (sharer_user_id);
CREATE INDEX IF NOT EXISTS idx_share_events_system_type ON public.share_events (system_type);
CREATE INDEX IF NOT EXISTS idx_share_events_server_ts ON public.share_events (server_ts DESC);
-- 序列起始值预留(按 CLAUDE.md 数据库规范)
ALTER SEQUENCE public.share_events_id_seq RESTART WITH 10000;