The schema you shipped in March is not the schema you will want in September. Unlike a database migration, some changes to an extraction schema cannot be applied to existing rows by any transform, and the difference is worth knowing before you have four million of them.

Extracted data is derived data

A row in your extractions table is the output of a function of four inputs: the document, the schema, the prompt and the model. Change any one and later rows are not comparable with earlier ones. Store all four identifiers alongside every record:

extractions

id