запускается несколько инстантсов сервисов то часто можно словить race condition при запуске миграций. особенно если они длительные. То есть миграции стартанули на реплике 1, параллельно стартанули на реплике 2, закончились на реплике 1, упалина реплике 2 потому что они уже выполеннеы на реплике 1.
Проблема в том что поидее должен быть какой-то глобальный лок, желательно в бд, на то что уже транзакция началась. Можно делать его самостоятельно, но может есть какая-то готовая компонента которая бы реализовала такие локи автоматически?
2 варианта: - хуки в деплое - запускать миграции ДО раскатки твоих сервисов - ограничить раскатку одним инстансом за раз. Так можно избежать гонок за счет увеличения времени раскатки.
Обсуждают сегодня