Миграции запускаются при старте каждого пода, и релиз иногда падает
#!/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
