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
| Type | Status | Created | Summary |
|---|---|---|---|
| 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} |