open-contracting / kingfisher-process

Stores and pre-processes OCDS data in a SQL database
https://kingfisher-process.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
2 stars 8 forks source link

OCDS Kit suggests compile then upgrade #388

Closed jpmckinney closed 1 year ago

jpmckinney commented 1 year ago

https://ocdskit.readthedocs.io/en/latest/cli/ocds.html#upgrade

Note: OCDS 1.0 uses the whole-list merge strategy on the suppliers array to prepare the compiled release and versioned release, whereas OCDS 1.1 uses the identifier merge strategy. This means that you should merge first and then upgrade.

While this is true at a technical level, it assumes implementers of OCDS 1.0 were rigorously following this merge behavior.

Since there are very few OCDS 1.0 publishers, and we don't know if they implemented OCDS expecting wholeListMerge or identifierMerge (also, I haven't checked if any even have multiple releases to merge), I think it's OK to not support this.

For OCDS 1.1 to 1.2, we will want to upgrade then merge, since the merge behaviors are the same.