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 #6

QA conflict chain A jockey #1 / jockey / rollback_test

Rows

Target Type Status Before After
jockey.id
1
truth_field restored
{"name": "MONAGHAN"}
{"name": "QA JKY A 1"}

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": 6, "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": 6, "conflict_count": 0, "conflicts": [], "row_count": 1, "safe_count": 1, "skipped_count": 0}
rollback_test conflict July 12, 2026, 2:10 a.m.
{"batch_id": 6, "conflict_count": 1, "conflicts": [{"later_changes": [{"action": "rollback_test", "batch_id": 7, "columns": ["name"], "created_at": "2026-07-12 02:10:03", "entity": "jockey", "row_id": 7, "status": "applied", "title": "QA conflict chain B jockey #1"}], "mismatches": {}, "pk": "1", "reason": "Row has later active audited changes on the same field(s).", "row_id": 6, "table": "jockey"}], "row_count": 1, "safe_count": 0, "skipped_count": 0}
rollback_test conflict July 12, 2026, 2:10 a.m.
{"batch_id": 6, "conflict_count": 1, "conflicts": [{"later_changes": [{"action": "rollback_test", "batch_id": 7, "columns": ["name"], "created_at": "2026-07-12 02:10:03", "entity": "jockey", "row_id": 7, "status": "applied", "title": "QA conflict chain B jockey #1"}], "mismatches": {}, "pk": "1", "reason": "Row has later active audited changes on the same field(s).", "row_id": 6, "table": "jockey"}], "row_count": 1, "safe_count": 0, "skipped_count": 0}
QWebHub Change Audit v1.4.2