Вступить в клуб →
сложнаявопросDocker, CI/CD и эксплуатация сервиса

Миграции запускаются при старте каждого пода, и релиз иногда падает

#!/bin/sh
# entrypoint.sh
alembic upgrade head
exec uvicorn app.main:app --host 0.0.0.0

Сервис разворачивается в четырёх репликах. Иногда релиз с новой миграцией проходит, иногда часть подов падает с ошибкой «relation already exists» или зависает на блокировке. Что правильно поменять?

  • Вынести миграции в отдельный шаг, который выполняется один раз до выкатки
  • Добавить в entrypoint sleep со случайной паузой перед миграцией
  • Запускать миграцию только в поде с первым номером в имени
  • Заменить alembic upgrade head на создание таблиц через create_all

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела