Najłatwiejszą odpowiedzią jest nie próbować tego robić. Zamiast tego spraw, aby migracje Alembic reprezentowały pełny układ bazy danych. Wtedy wszelkie wykonane migracje będą oparte na zmianach w istniejącej bazie danych.
Aby wykonać migrację początkową, jeśli masz już bazę danych, tymczasowo wskaż pustą bazę danych i uruchom alembic revision --autogenerate -m "base"
. Następnie wskaż z powrotem aktualną bazę danych i uruchom alembic stamp head
powiedzieć, że aktualny stan bazy danych jest reprezentowany przez najnowszą migrację, bez faktycznego jej uruchamiania.
Jeśli z jakiegoś powodu nie chcesz tego robić, możesz nie używać --autogenerate
i zamiast tego generuj puste wersje, które wypełniasz żądanymi operacjami. Alembic nie powstrzyma cię przed zrobieniem tego, jest to po prostu znacznie mniej wygodne.