PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Überprüfen Sie mit SQLAlchemy und Alembic, ob eine Tabellenspalte in der Datenbank vorhanden ist

Die einfachste Antwort ist, dies nicht zu versuchen. Lassen Sie stattdessen Ihre Alembic-Migrationen das vollständige Layout der Datenbank darstellen. Dann basieren alle von Ihnen vorgenommenen Migrationen auf den Änderungen an der vorhandenen Datenbank.

Um eine Startmigration durchzuführen, wenn Sie bereits eine Datenbank haben, zeigen Sie vorübergehend auf eine leere Datenbank und führen Sie alembic revision --autogenerate -m "base" aus . Zeigen Sie dann zurück auf die eigentliche Datenbank und führen Sie alembic stamp head aus zu sagen, dass der aktuelle Zustand der Datenbank durch die letzte Migration dargestellt wird, ohne dass sie tatsächlich ausgeführt wird.

Wenn Sie dies aus irgendeinem Grund nicht möchten, können Sie sich dafür entscheiden, --autogenerate nicht zu verwenden und generieren Sie stattdessen leere Revisionen, die Sie mit den gewünschten Operationen füllen. Alembic wird Sie nicht davon abhalten, es ist nur viel weniger bequem.