Files
ss-tools/backend/alembic/versions/7eaf84b7f6be_merge_6b8ca3b7405f_b4c5d6e7f8a9_.py
busya 8f4ee25415 fix(alembic): merge three migration heads + add smoke test for chain integrity
- Created merge migration 7eaf84b7f6be joining heads:
  - 6b8ca3b7405f (previous merge of c0d1e2f3a4b5 + f2b3c4d5e6f7)
  - b4c5d6e7f8a9 (include_source_reference to translation_jobs)
  - f4a5b6c7d8e9 (preproduction validation to deployment records)

- Added smoke test (test_smoke_migration_chain.py) that:
  - Checks exactly 1 head (catches branch divergence)
  - Walks full chain verifying all down_revision links exist
  - Confirms all .py files are loaded as revisions
  - Runs WITHOUT a database (real ScriptDirectory, no mocks)
  - Catches what existing tests missed:
    * test_alembic_migrations.py skips on non-PostgreSQL
    * test_check_migration_chain.py uses mocks, not real files
2026-07-14 17:33:16 +03:00

41 lines
1.2 KiB
Python

# #region Alembic.MergeThreeHeads [C:2] [TYPE Module] [SEMANTICS alembic,merge,heads]
# @ingroup Alembic
# @BRIEF Merge three migration heads into one: 6b8ca3b7405f, b4c5d6e7f8a9, f4a5b6c7d8e9.
# Branches b4c5d6e7f8a9 and f4a5b6c7d8e9 were created from f2b3c4d5e6f7 after the
# previous merge (6b8ca3b7405f), creating multiple heads. This merge resolves them.
# @LAYER Database
# @RELATION DEPENDS_ON -> [Alembic.AddAgentConversations]
# @RELATION DEPENDS_ON -> [Alembic.AddIncludeSourceReference]
# @RELATION DEPENDS_ON -> [Alembic.AddDeploymentValidation]
"""merge: 6b8ca3b7405f, b4c5d6e7f8a9, f4a5b6c7d8e9
Revision ID: 7eaf84b7f6be
Revises: 6b8ca3b7405f, b4c5d6e7f8a9, f4a5b6c7d8e9
Create Date: 2026-07-14 17:29:58.171927
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = '7eaf84b7f6be'
down_revision: Union[str, Sequence[str], None] = ('6b8ca3b7405f', 'b4c5d6e7f8a9', 'f4a5b6c7d8e9')
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
"""Upgrade schema."""
pass
def downgrade() -> None:
"""Downgrade schema."""
pass
# #endregion Alembic.MergeThreeHeads