返回 DeepSeek-Reasonix
migrate-firebase-crash.sql
根目录 / workers / crash-report / migrate-firebase-crash.sql
1 -- Additive Firebase Spark crash delivery state. Apply before selecting
2 -- CRASH_STORAGE_MODE=dual or firebase.
3 CREATE TABLE IF NOT EXISTS firebase_crash_outbox (
4 event_id TEXT PRIMARY KEY,
5 fingerprint TEXT NOT NULL,
6 payload TEXT NOT NULL,
7 state TEXT NOT NULL DEFAULT 'queued' CHECK (state IN ('queued', 'processing', 'projected')),
8 attempts INTEGER NOT NULL DEFAULT 0,
9 next_attempt_at TEXT NOT NULL,
10 created_at TEXT NOT NULL,
11 updated_at TEXT NOT NULL
12 );
13
14 CREATE INDEX IF NOT EXISTS firebase_crash_outbox_retry
15 ON firebase_crash_outbox (state, next_attempt_at, created_at);
16
17 CREATE TABLE IF NOT EXISTS firebase_crash_receipts (
18 event_id TEXT PRIMARY KEY,
19 projected_at TEXT NOT NULL,
20 group_count INTEGER NOT NULL,
21 latest_slot INTEGER NOT NULL,
22 first_sample INTEGER NOT NULL DEFAULT 0
23 );
24
25 CREATE INDEX IF NOT EXISTS firebase_crash_receipts_projected
26 ON firebase_crash_receipts (projected_at);
27
28 CREATE TABLE IF NOT EXISTS firebase_crash_group_leases (
29 fingerprint TEXT PRIMARY KEY,
30 owner TEXT NOT NULL,
31 expires_at TEXT NOT NULL
32 );
33
33 lines SQL