返回 DeepSeek-Reasonix
migrate-diagnostics-v4.sql
根目录 / workers / crash-report / migrate-diagnostics-v4.sql
1 -- Additive diagnostics v4 migration. Apply before the matching Worker.
2 ALTER TABLE groups ADD COLUMN regression_review TEXT NOT NULL DEFAULT '';
3 ALTER TABLE groups ADD COLUMN resolution_platform TEXT NOT NULL DEFAULT '';
4 ALTER TABLE groups ADD COLUMN resolution_runtime TEXT NOT NULL DEFAULT '';
5 ALTER TABLE groups ADD COLUMN resolution_basis TEXT NOT NULL DEFAULT '';
6 ALTER TABLE groups ADD COLUMN last_category TEXT NOT NULL DEFAULT '';
7
8 ALTER TABLE reports ADD COLUMN event_id TEXT NOT NULL DEFAULT '';
9 ALTER TABLE reports ADD COLUMN incident_id TEXT NOT NULL DEFAULT '';
10 ALTER TABLE reports ADD COLUMN diagnostics TEXT NOT NULL DEFAULT '';
11 ALTER TABLE reports ADD COLUMN error_family TEXT NOT NULL DEFAULT '';
12 CREATE INDEX IF NOT EXISTS reports_event_id ON reports (event_id);
13
14 CREATE TABLE IF NOT EXISTS report_events (
15 event_id TEXT PRIMARY KEY,
16 incident_id TEXT NOT NULL DEFAULT '',
17 fingerprint TEXT NOT NULL,
18 received_at TEXT NOT NULL,
19 projected_at TEXT NOT NULL
20 );
21 CREATE INDEX IF NOT EXISTS report_events_fingerprint ON report_events (fingerprint, received_at);
22 CREATE INDEX IF NOT EXISTS report_events_incident ON report_events (incident_id, received_at);
23
24 CREATE TABLE IF NOT EXISTS report_attribution_daily (
25 date TEXT NOT NULL,
26 fingerprint TEXT NOT NULL,
27 subject_version TEXT NOT NULL DEFAULT '',
28 observer_version TEXT NOT NULL DEFAULT '',
29 subject_channel TEXT NOT NULL DEFAULT '',
30 observer_channel TEXT NOT NULL DEFAULT '',
31 category TEXT NOT NULL DEFAULT '',
32 evidence TEXT NOT NULL DEFAULT '',
33 events INTEGER NOT NULL DEFAULT 0,
34 PRIMARY KEY (date, fingerprint, subject_version, observer_version, subject_channel, observer_channel, category, evidence)
35 );
36 CREATE INDEX IF NOT EXISTS report_attribution_fingerprint_date ON report_attribution_daily (fingerprint, date);
37
38 CREATE TABLE IF NOT EXISTS report_incidents (
39 date TEXT NOT NULL,
40 fingerprint TEXT NOT NULL,
41 incident_id TEXT NOT NULL,
42 subject_version TEXT NOT NULL DEFAULT '',
43 PRIMARY KEY (date, fingerprint, incident_id)
44 );
45 CREATE INDEX IF NOT EXISTS report_incidents_fingerprint_date ON report_incidents (fingerprint, date);
46
47 INSERT OR IGNORE INTO diagnostics_meta (key, value)
48 VALUES ('structured_attribution_since', date('now'));
49
49 lines SQL