Skip to content

fix: handle unknown alembic revisions during startup - #2465

Merged
nhoening merged 2 commits into
mainfrom
fix/handle-unknown-alembic-revision
Sep 2, 2026
Merged

fix: handle unknown alembic revisions during startup#2465
nhoening merged 2 commits into
mainfrom
fix/handle-unknown-alembic-revision

Conversation

@nhoening

@nhoening nhoening commented Sep 2, 2026

Copy link
Copy Markdown
Member

Description

Changing the branch, where a specific recent db migration from another unmerged branch is unknown, leads to this startup error:

  File "/home/nicolas/workspace/seita/flexmeasures/.venv/lib/python3.12/site-packages/alembic/script/revision.py", line 1481, in _collect_upgrade_revisions
    raise RangeNotAncestorError(lower, upper)
alembic.script.revision.RangeNotAncestorError: Revision 4b0f2e9c1a6d is not an ancestor of revision b2c3d4e5f6a7

This affects developers, mostly. This PR solves this problem

  • Do not trip over unknown revision when checking if we are on HEAD at startup
  • Added changelog item in documentation/changelog.rst

@nhoening nhoening self-assigned this Sep 2, 2026
@nhoening nhoening added this to the 1.1.0 milestone Sep 2, 2026
@read-the-docs-community

read-the-docs-community Bot commented Sep 2, 2026

Copy link
Copy Markdown

Documentation build overview

📚 flexmeasures | 🛠️ Build #34359428 | 📁 Comparing 0958dea against latest (8944a8b)

  🔍 Preview build  

3 files changed
± changelog.html
± _autosummary/flexmeasures.utils.unit_utils.html
± api/v3_0.html

Signed-off-by: Nicolas Höning <nicolas@seita.nl>
@nhoening
nhoening requested a review from Ahmad-Wahid September 2, 2026 18:24
@Ahmad-Wahid

Copy link
Copy Markdown
Contributor

I tried to fail test_database_schema_has_revision_false_when_current_revision_is_unknown this way.

  1. git checkout fix/handle-unknown-alembic-revision
  2. cp flexmeasures/data/utils.py /tmp/utils.py.bak && git show main:flexmeasures/data/utils.py > flexmeasures/data/utils.py
  3. .venv/bin/python -m pytest flexmeasures/data/tests/test_utils.py -q
    Here the test fails, which is good.
  4. cp /tmp/utils.py.bak flexmeasures/data/utils.py
    Here it passes.

@nhoening
nhoening merged commit a60f64e into main Sep 2, 2026
12 of 13 checks passed
@nhoening
nhoening deleted the fix/handle-unknown-alembic-revision branch September 2, 2026 20:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants