РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
622 of 643 menu

Команда db merge

Команда flask db merge применяется для слияния разошедшихся веток миграций в единую ревизию. Такая ситуация возникает, когда над проектом работает несколько разработчиков и каждый создаёт свои ревизии от общей родительской точки. Первым параметром передаётся идентификатор ревизии, к которой нужно присоединить другие ветки. Дополнительными позиционными аргументами передаются идентификаторы ревизий, которые следует объединить. Команда создаёт новый файл миграции, в котором перечислены все сливаемые ревизии, и делает его текущей головой.

Синтаксис

flask db merge [OPTIONS] REVISION [REVISIONS]...

Пример

Давайте рассмотрим типичную ситуацию. Есть две ветки миграций с головами 'abcde' и '12345', которые нужно объединить. Сначала посмотрим текущее состояние:

flask db heads

Результат выполнения команды:

abcde (head) 12345 (head)

Теперь объединим обе головы в одну ревизию слияния:

flask db merge abcde 12345

Результат выполнения команды:

Generating /migrations/versions/67890_merge.py ... done

После этого в каталоге migrations/versions появится новый файл слияния. Проверим головы ещё раз:

flask db heads

Результат выполнения команды:

67890 (head)

Пример

Давайте посмотрим содержимое созданного файла слияния:

"""merge abcde and 12345 Revision ID: 67890 Revises: abcde, 12345 Create Date: 2024-01-01 00:00:00.000000 """ from alembic import op import sqlalchemy as sa revision = '67890' down_revision = ('abcde', '12345') branch_labels = None depends_on = None def upgrade(): pass def downgrade(): pass

Обратите внимание на параметр down_revision: он содержит кортеж из идентификаторов сливаемых ревизий. Функции upgrade и downgrade пустые, так как сама по себе операция слияния не изменяет структуру базы данных.

Пример

Применим миграцию слияния к базе данных:

flask db upgrade

Результат выполнения команды:

INFO [alembic.runtime.migration] Running upgrade abcde, 12345 -> 67890, merge abcde and 12345

Теперь история миграций линейна, и обе ветки объединены в одну общую точку.

Смотрите также

  • команду db revision,
    которая создаёт новую ревизию миграции
  • команду db upgrade,
    которая применяет миграции к базе данных
  • команду db history,
    которая показывает историю миграций
  • команду db migrate,
    которая создаёт миграцию на основе изменений моделей
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить