Maintain data (DB objects) after minor changes in related "final" structures
As Anastassia,
I want to reuse the previously updated data (filter/fact/attributes/ref. metadata) tables for a newly added "final" structures that only have backward-compatible minor changes,
So that I do not need to re-upload the existing observations, which saves a lot of time and hassle because this operation is frequent.
Functional specifications
When a minorversion of DSD is increased, meaning that the structure change should be backward-compatible such as when adding new codes to a codelist that requires a new version of this DSD, then the previously uploaded data that is still valid should continue to be available in the new DSD without a new data re-upload (stored in the same fact table).
Data for each DSD version compatible with the common storage can only be updated or deleted within the scope of that DSD version and related codes. Note that only newer DSD versions could allow for new codes.
A new fact table should be created only when the change is major as this could include adding or removing dimensions and attributes.
Versioning rules: When updating an SDMX structural artefact, increment the:
- MAJOR version when you make backward-incompatible artefact changes, e.g. removing a code from a codelist,
- MINOR version when you make artefact changes that are backward-compatible but not forward-compatible, e.g. adding a code to a codelist, and
- PATCH version when you make backward- and forward-compatible artefact changes, e.g. changing artefact properties such as name, description, annotation, links, ....
Example files
- structure version 0.1.2 DF_EO_O_1.2.xml
- data version 0.1.2 DF_EO_O_data_-_1.2.csv
- structure version 0.1.3 DF_EO_O_1.3.xml
- data version 0.1.3 DF_EO_O_data_-_1.3.csv