Миграции: объявления отходят от 0013, слияние с рейтингом в 0016
Объявления выпускаются в main раньше рейтинга, а в main последняя миграция — 0013. Если бы 0015 оставалась после 0014, прод, получивший объявления, встал бы на 0015, и при будущем переходе на dev alembic счёл бы базу актуальной — рейтинговая 0014 не применилась бы никогда. Теперь 0015 отходит от 0013 (как и 0014), а пустая 0016 сводит обе ветки в одну голову: прод на 0015 докатит 0014 и 0016, база на 0014 — 0015 и 0016. Базы, уже прогнанные прежней версией (0015 после 0014), повторно получат идемпотентную 0014 — проверено на копии dev-БД, на пустой базе и на такой базе. #84 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -3,8 +3,11 @@
|
|||||||
Идемпотентна: на свежей БД таблицы создаёт 0001 (create_all из актуальных моделей) -> no-op;
|
Идемпотентна: на свежей БД таблицы создаёт 0001 (create_all из актуальных моделей) -> no-op;
|
||||||
на существующей БД создаёт недостающие таблицы.
|
на существующей БД создаёт недостающие таблицы.
|
||||||
|
|
||||||
|
Отходит от 0013, а не от 0014: объявления выпущены в main раньше рейтинга. Ветки рейтинга
|
||||||
|
(0014) и объявлений (0015) сводит пустая миграция 0016.
|
||||||
|
|
||||||
Revision ID: 0015_announcements
|
Revision ID: 0015_announcements
|
||||||
Revises: 0014_rating_inputs
|
Revises: 0013_user_token_version
|
||||||
Create Date: 2026-09-18
|
Create Date: 2026-09-18
|
||||||
"""
|
"""
|
||||||
from typing import Sequence, Union
|
from typing import Sequence, Union
|
||||||
@@ -15,7 +18,7 @@ from sqlalchemy import inspect
|
|||||||
from alembic import op
|
from alembic import op
|
||||||
|
|
||||||
revision: str = "0015_announcements"
|
revision: str = "0015_announcements"
|
||||||
down_revision: Union[str, None] = "0014_rating_inputs"
|
down_revision: Union[str, None] = "0013_user_token_version"
|
||||||
branch_labels: Union[str, Sequence[str], None] = None
|
branch_labels: Union[str, Sequence[str], None] = None
|
||||||
depends_on: Union[str, Sequence[str], None] = None
|
depends_on: Union[str, Sequence[str], None] = None
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
"""Слияние веток миграций: рейтинг (0014) и объявления (0015).
|
||||||
|
|
||||||
|
Объявления (#84) вышли в main раньше рейтинга, поэтому 0015 отходит от 0013, а не от 0014,
|
||||||
|
и у графа миграций две ветки. Эта миграция сводит их в одну голову и сама ничего не меняет:
|
||||||
|
прод, стоящий на 0015 (релиз без рейтинга), при переходе на эту версию получит 0014 и её;
|
||||||
|
база на 0014 (dev) — 0015 и её.
|
||||||
|
|
||||||
|
Revision ID: 0016_merge_rating_announcements
|
||||||
|
Revises: 0014_rating_inputs, 0015_announcements
|
||||||
|
Create Date: 2026-09-18
|
||||||
|
"""
|
||||||
|
from typing import Sequence, Union
|
||||||
|
|
||||||
|
revision: str = "0016_merge_rating_announcements"
|
||||||
|
down_revision: Union[str, Sequence[str], None] = ("0014_rating_inputs", "0015_announcements")
|
||||||
|
branch_labels: Union[str, Sequence[str], None] = None
|
||||||
|
depends_on: Union[str, Sequence[str], None] = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade() -> None:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade() -> None:
|
||||||
|
pass
|
||||||
Reference in New Issue
Block a user