36 lines
1.6 KiB
Python
36 lines
1.6 KiB
Python
# #region Alembic.MergeExecutionAndEditProposals [C:1] [TYPE Module] [SEMANTICS alembic,migration,merge,scenario,execution,edit-proposals]
|
|
# @ingroup Alembic
|
|
# @BRIEF Merge two parallel heads from y4z5a6b7c8d9: 044 execution tables (z5a6b7c8d9e0) and
|
|
# 043 edit proposals (z6a7b8c9d0e1). Restores a single alembic head so `upgrade head`
|
|
# applies both branches exactly once.
|
|
# @RELATION DEPENDS_ON -> [Alembic.ScenarioExecutionTables]
|
|
# @RELATION DEPENDS_ON -> [Alembic.ScenarioEditProposals]
|
|
# @RATIONALE 044 execution (z5a6b7c8d9e0) and 043 edit proposals (z6a7b8c9d0e1) landed
|
|
# concurrently from y4z5a6b7c8d9. A no-op merge revision collapses them into one
|
|
# head so runtime migrations stop failing with "multiple head revisions".
|
|
# @REJECTED Editing down_revision of either existing migration was rejected — it would rewrite
|
|
# already-applied history on live deployments; a merge revision is the additive fix.
|
|
"""merge 044 execution tables and 043 edit proposals into one head
|
|
|
|
Both z5a6b7c8d9e0 (044 execution: artifacts/approval/resume) and z6a7b8c9d0e1
|
|
(043 edit proposals) branch from y4z5a6b7c8d9. This merge restores a single
|
|
alembic head so upgrade runs both branches exactly once.
|
|
"""
|
|
|
|
from collections.abc import Sequence
|
|
|
|
revision: str = "z7a8b9c0d1e2"
|
|
down_revision: str | Sequence[str] | None = ("z5a6b7c8d9e0", "z6a7b8c9d0e1")
|
|
branch_labels: str | Sequence[str] | None = None
|
|
depends_on: str | Sequence[str] | None = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
# Merge point only — both branches already applied their DDL.
|
|
pass
|
|
|
|
|
|
def downgrade() -> None:
|
|
pass
|
|
# #endregion Alembic.MergeExecutionAndEditProposals
|