Безопасно ли автоматически генерировать миграции Alembic в конвейере CI/CD для общей базы данных?Python

Программы на Python
Anonymous
Безопасно ли автоматически генерировать миграции Alembic в конвейере CI/CD для общей базы данных?

Сообщение Anonymous »

У меня есть приложение Python, использующее Postgres. Для разработки приложение подключается к общей базе данных, размещенной на AWS.
Я рассматриваю возможность внедрения рабочего процесса, при котором:
  • Во время работы конвейера CI/CD миграции генерируются автоматически с помощью Alembic (

    Код: Выделить всё

    --autogenerate
    )
  • Сгенерированная миграция затем немедленно применяется (

    Код: Выделить всё

    alembic upgrade head
    ) в целевую среду
  • Это будет происходить для каждой среды в рамках развертывания, без создания или фиксации сценариев миграции вручную.
Моя цель — сократить ручные усилия и обеспечить постоянную синхронизацию изменений схемы с моделями.
Однако у меня есть несколько проблем:
  • Безопасно/надежно ли динамически генерировать миграции в конвейере, особенно для общей базы данных?
  • Как этот подход обрабатывает одновременные изменения (например, несколько ветвей, изменяющих модели)?
  • Существуют ли риски непоследовательной или неправильной миграции из-за различий в состоянии БД?
  • Существует ли рекомендуемый шаблон для управления миграцией в такой настройке?
Применял ли кто-нибудь подобный подход в рабочей среде? Или настоятельно рекомендуется создавать и проверять миграции вручную перед их применением?
Будем признательны за любые рекомендации и рекомендации.

Вернуться в «Python»