Det enklaste svaret är att inte försöka göra detta. Låt istället dina Alembic-migreringar representera hela databasens layout. Sedan kommer alla migreringar du gör att baseras på ändringarna i den befintliga databasen.
För att göra en startmigrering om du redan har en databas, peka tillfälligt på en tom databas och kör alembic revision --autogenerate -m "base"
. Peka sedan tillbaka på den faktiska databasen och kör alembic stamp head
att säga att det aktuella tillståndet för databasen representeras av den senaste migreringen, utan att faktiskt köra den.
Om du av någon anledning inte vill göra det kan du välja att inte använda --autogenerate
och generera istället tomma revisioner som du fyller i med de operationer du vill ha. Alembic hindrar dig inte från att göra detta, det är bara mycket mindre bekvämt.