gcx/backend/migrations/032_create_telemetry_events...

17 lines
731 B
SQL

-- Telemetry event log (append-only)
-- High-volume table for client-side event collection
CREATE TABLE IF NOT EXISTS telemetry_events (
id BIGSERIAL PRIMARY KEY,
user_id UUID REFERENCES users(id) ON DELETE SET NULL,
install_id VARCHAR(128) NOT NULL,
event_name VARCHAR(64) NOT NULL,
event_time TIMESTAMPTZ NOT NULL,
properties JSONB DEFAULT '{}',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_telemetry_events_time ON telemetry_events(event_time);
CREATE INDEX idx_telemetry_events_name_time ON telemetry_events(event_name, event_time);
CREATE INDEX idx_telemetry_events_user ON telemetry_events(user_id);
CREATE INDEX idx_telemetry_events_install ON telemetry_events(install_id);