feat(client): track digital sync retry history

This commit is contained in:
baiyanyun
2026-06-07 01:42:39 +08:00
parent 646901b5fa
commit cef3fe4a43
10 changed files with 375 additions and 133 deletions

View File

@@ -136,11 +136,26 @@ export function initDatabase(): void {
updated_at TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS digital_sync_attempts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
outbox_id TEXT NOT NULL,
entity_type TEXT NOT NULL,
entity_id TEXT NOT NULL,
operation TEXT NOT NULL,
attempt_no INTEGER NOT NULL,
status TEXT NOT NULL,
error TEXT,
endpoint TEXT,
started_at TEXT NOT NULL,
finished_at TEXT NOT NULL
);
CREATE INDEX IF NOT EXISTS idx_digital_plans_sync ON digital_plans(sync_status);
CREATE INDEX IF NOT EXISTS idx_digital_tasks_plan ON digital_tasks(plan_id);
CREATE INDEX IF NOT EXISTS idx_digital_runs_task ON digital_runs(task_id);
CREATE INDEX IF NOT EXISTS idx_digital_events_plan ON digital_events(plan_id, occurred_at);
CREATE INDEX IF NOT EXISTS idx_digital_sync_outbox_status ON digital_sync_outbox(status, created_at);
CREATE INDEX IF NOT EXISTS idx_digital_sync_attempts_outbox ON digital_sync_attempts(outbox_id, finished_at);
`);
log.info('Database tables created');
} catch (error) {