La risposta più semplice è non provare a farlo. Invece, fai in modo che le tue migrazioni di Alambic rappresentino il layout completo del database. Quindi tutte le migrazioni effettuate si baseranno sulle modifiche al database esistente.
Per effettuare una migrazione iniziale se hai già un database, punta temporaneamente su un database vuoto ed esegui alembic revision --autogenerate -m "base"
. Quindi, punta nuovamente al database effettivo ed esegui alembic stamp head
per dire che lo stato attuale del database è rappresentato dall'ultima migrazione, senza eseguirlo effettivamente.
Se non vuoi farlo per qualche motivo, puoi scegliere di non usare --autogenerate
e invece genera revisioni vuote che inserisci con le operazioni che desideri. L'alambicco non ti impedirà di farlo, è solo molto meno conveniente.