У меня проблема с запуском автоматических миграций с библиотекой alembic (я использую библиотеку raw alembic ).
Итак, это настройка приложения:
У меня есть планировщик (скрипт Python, который вычисляет что-то, а затем
сохраняет его в базе данных)
и API REST колбы (который использует данные, сохраненные в базе данных планировщиком
вернуть адекватный ответ)
- Затем я развертываю приложение со скриптом, который запускает следующие три команды:
alembic revision --autogenereate
alembic upgrade head
python run_scheduler.py
После первоначального развертывания таблица alembic_version
создается в базе данных PostgreSQL
со значением идентификатора в столбце version_num
, а сценарий миграции (давайте назовем этот сценарий xx.py
) создается в alembic/versions/
При повторном развертывании приложения (с запущенными миграциями и планировщиком): я получаю
"Не удалось найти ревизию, указанную в 'xxxxxxx'
Почему?
Поскольку сценария xx.py
больше нет (докер создан из репозитория с контролем версий), а xx - это значение в столбце version_num
в таблице alembic_version
.
Как подойти и решить эту проблему?