Racecard Runner Backfill

Runs an active foreign-key repair — not just a passive check — across racecard_runner only (~31M rows, split out of Racecard Backfill so it can run on its own). For every row, this recomputes what each FK (race_id, course_id, runner_id, jockey_id, trainer_id) should actually resolve to from the current source row and its existing parent mappings, and corrects the column if it disagrees. It only updates existing rows — a parent with no mapping yet is left alone and counted as unresolvable, never created. This is the opposite of Backfill Reference Tables and unlike Backfill Everything (which never touches an FK/id column at all) — this page's whole purpose is fixing FKs, plus an ordinary value-diff refresh of every other mapped column on the same rows in the same pass.

By default a run covers rows with race_date on or after the latest 7 days; untick the box below for a full run over all dates. This page has no schedule of its own; the scheduled Racecard Backfill run still covers racecard_runner. A racecard_race parent that's itself outside the run's date range is left unresolved.

  • Racecard Runners tblprerace_runners → racecard_runner
The same switch as on Racecard Backfill (one setting for both tools, manual and scheduled runs). OFF: no FK column is read, compared or repointed, so only the ordinary value refresh runs and the FK mapping sweep is the only thing remapping FKs. ON (the original behaviour): FKs are re-resolved and repointed as described above.

Preview runs the exact same reads and resolves the exact same expected values, but skips every write — no FK repointed, no value columns refreshed. Use it to see what would change before committing to a real run.