feat(store): version migration ledger entries - #758
Open
rodboev wants to merge 8 commits into
Open
Conversation
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
Require one version in context-aware ledger calls and migration gates so the compiler rejects extra arguments. Keep name-only callers at version 1 and validate each gate's version once before running migration work. Prepare the ledger column directly before its first query. Looking up and skipping a legacy migration by description made startup ordering depend on a display label. The dedicated ALTER keeps that ordering explicit. Exercise the name-only store writer when checking that an older version cannot replace a newer one, instead of repeating SQL inside the test. Generated with Codex (GPT-6) Co-authored-by: Codex <noreply@openai.com>
roborev: Combined Review (
|
CI builds the pull request merged with main. The directory projection and sync resume migrations were added there after this branch diverged, so they still called runOnceMigration without the new version argument. That broke every build importing the store package despite the branch passing its local checks. Merge main and request version 1 at both gates. This keeps their existing behavior and lets the combined tree use the explicit version API. Generated with Codex (GPT-6) Co-authored-by: Codex <noreply@openai.com>
roborev: Combined Review (
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The migration ledger now stores the highest successfully applied version for each migration name. Migration gates can request a minimum version while existing name-only callers default to version 1. Legacy ledger rows are preserved, and the version column is added to both schema mirrors.
The ledger previously treated any row with a matching name as complete, so a reshaped migration needed a new
_v2name even when its logical identity was unchanged. A monotonic version column adds the missing distinction while retaining one row per migration and the existing success-only lifecycle. No usage change.Closes #316