Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Prevent adding schema deltas to old SCHEMA_VERSIONs #11559

Closed
richvdh opened this issue Dec 10, 2021 · 4 comments
Closed

Prevent adding schema deltas to old SCHEMA_VERSIONs #11559

richvdh opened this issue Dec 10, 2021 · 4 comments
Labels
T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.

Comments

@richvdh
Copy link
Member

richvdh commented Dec 10, 2021

Once an installation's database has been updated to a given SCHEMA_VERSION, any delta files which appear in older versions are ignored.

This means we have a ticking timebomb/footgun in which we accidentally merge a PR which adds a delta file to an old SCHEMA_VERSION, which is then ignored on existing installations.

Ideally we want to make sure that, once develop is updated to a given SCHEMA_VERSION, no delta files are added to older versions.

@reivilibre
Copy link
Contributor

What woud you suggest? A CI check for that? (main issue is that you can merge a branch on a stale CI check: if my CI passes and you later change develop's SCHEMA_VERSION, nothing will alert me to that or stop me merging.)

@reivilibre reivilibre added the T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks. label Dec 14, 2021
@richvdh
Copy link
Member Author

richvdh commented Dec 14, 2021

well yes, therein lies the problem - we'd have to do some research.

One option would be to enable this checky-box, but I think it would rapidly get painful, given we tend to have multiple PRs in flight at any given time:

image

So maybe we have to actually run a CI job on develop itself, which diffs against the commit where SCHEMA_VERSION was last bumped and checks that nothing has been added to older versions (and files an issue if it has)?

@clokep
Copy link
Member

clokep commented Jun 16, 2022

I think @richvdh marked this as fixed by #13063.

@DMRobertson
Copy link
Contributor

This as followed-up by #15466.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.
Projects
None yet
Development

No branches or pull requests

4 participants