Data model
Job runs
One row per data job execution, with what it consumed and how much it matched.
10 columns. Every value below is generated from the provenance registry.
| Field | Type | Source | Updated | Written by |
|---|---|---|---|---|
| id | string | calculated | never | database |
| Internal UUID primary key. | ||||
| job | string | calculated | on demand | scripts/ingest-mtgjson.ts |
| Which job ran: an MTGJSON subcommand (prices, sets, precons) or a pnpm script (seed:cards, embed:cards). | ||||
| mtgjson_version | string | null | calculated | on demand | scripts/ingest-mtgjson.ts |
| MTGJSON build version the run consumed. NULL for jobs reading a source that publishes no version, such as Scryfall or Voyage. | ||||
| mtgjson_date | string | null | calculated | on demand | scripts/ingest-mtgjson.ts |
| MTGJSON build date the run consumed. NULL where there is no version. | ||||
| started_at | string | calculated | on demand | scripts/ingest-mtgjson.ts |
| When the run began. | ||||
| finished_at | string | null | calculated | on demand | scripts/ingest-mtgjson.ts |
| When the run stopped, whether or not it worked; NULL while it is still in flight. | ||||
| succeeded | boolean | null | calculated | on demand | scripts/ingest-mtgjson.ts |
| Whether the run reached its own completion. NULL while in flight. A job that dies still stamps finished_at, so this is the column that answers whether the work needs doing again. | ||||
| matched | number | calculated | on demand | scripts/ingest-mtgjson.ts |
| Rows joined to an existing printing. | ||||
| unmatched | number | calculated | on demand | scripts/ingest-mtgjson.ts |
| Rows that could not be joined. A jump here means the crosswalk drifted, not that data was lost. | ||||
| notes | string | null | calculated | on demand | scripts/ingest-mtgjson.ts |
| Free-text run notes. | ||||
TypeScript model
interface data_job_runs {
id: string
job: string
mtgjson_version: string | null
mtgjson_date: string | null
started_at: string
finished_at: string | null
succeeded: boolean | null
matched: number
unmatched: number
notes: string | null
}