PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Vérifier si une colonne de table existe dans la base de données à l'aide de SQLAlchemy et Alembic

La réponse la plus simple est de ne pas essayer de le faire. Au lieu de cela, faites en sorte que vos migrations Alembic représentent la disposition complète de la base de données. Ensuite, toutes les migrations que vous effectuerez seront basées sur les modifications apportées à la base de données existante.

Pour effectuer une migration de départ si vous avez déjà une base de données, pointez temporairement sur une base de données vide et exécutez alembic revision --autogenerate -m "base" . Ensuite, pointez sur la base de données réelle et exécutez alembic stamp head pour dire que l'état actuel de la base de données est représenté par la dernière migration, sans l'exécuter réellement.

Si vous ne voulez pas le faire pour une raison quelconque, vous pouvez choisir de ne pas utiliser --autogenerate et générer à la place des révisions vides que vous remplissez avec les opérations souhaitées. Alambic ne vous empêchera pas de le faire, c'est juste beaucoup moins pratique.