Change Audit

Central QDB-only journal for destructive changes. Push structured before/after row snapshots to /qdbadmin/api/changes/. SQL text may be stored for review, but this endpoint does not execute raw SQL.

Recent Change Batches

ID Change Status Rows Created
#8
QA run reference restore run #47
run / rollback_test / primary 47
Last test: restored July 12, 2026, 2:10 a.m.
restored 1 July 12, 2026, 2:10 a.m.
#7
QA conflict chain B jockey #1
jockey / rollback_test / primary 1
Last test: restored July 12, 2026, 2:10 a.m.
restored 1 July 12, 2026, 2:10 a.m.
#6
QA conflict chain A jockey #1
jockey / rollback_test / primary 1
Last test: restored July 12, 2026, 2:10 a.m.
restored 1 July 12, 2026, 2:10 a.m.
#5
QA simple restore runner.runner_name #1
runner / rollback_test / primary 1
Last test: restored July 12, 2026, 2:09 a.m.
restored 1 July 12, 2026, 2:09 a.m.
#4
QA simple restore trainers.trainer_name #1
trainer / rollback_test / primary 1
Last test: restored July 12, 2026, 2:09 a.m.
restored 1 July 12, 2026, 2:09 a.m.

Batch #8

QA run reference restore run #47 / run / rollback_test

Rows

Target Type Status Before After
run.id
47
reference_repoint restored
{"jockey_id": 22, "jockey_name": "J CUTTS", "runner_id": 47, "runner_name": "ARCHER", "trainer_id": 1, "trainer_name": "ETIENNE DE MESTRE"}
{"jockey_id": 1, "jockey_name": "MONAGHAN", "runner_id": 1, "runner_name": "ROSE OF MAY", "trainer_id": 2, "trainer_name": "SAM WALDOCK"}

Tests

TypeStatusCreatedSummary
restore restored July 12, 2026, 2:10 a.m.
{"restored": 1, "skipped": 0}
rollback_test safe July 12, 2026, 2:10 a.m.
{"batch_id": 8, "conflict_count": 0, "conflicts": [], "row_count": 1, "safe_count": 1, "skipped_count": 0}
rollback_test safe July 12, 2026, 2:10 a.m.
{"batch_id": 8, "conflict_count": 0, "conflicts": [], "row_count": 1, "safe_count": 1, "skipped_count": 0}
QWebHub Change Audit v1.4.2