sql >> Database teknologi >  >> RDS >> PostgreSQL

Tjek, om der findes en tabelkolonne i databasen ved hjælp af SQLAlchemy og Alembic

Det nemmeste svar er ikke at prøve at gøre dette. Lad i stedet dine Alembic-migreringer repræsentere hele databasens layout. Derefter vil alle migreringer, du foretager, blive baseret på ændringerne til den eksisterende database.

For at foretage en startmigrering, hvis du allerede har en database, skal du midlertidigt pege på en tom database og køre alembic revision --autogenerate -m "base" . Peg derefter tilbage på den faktiske database og kør alembic stamp head at sige, at den aktuelle tilstand af databasen er repræsenteret af den seneste migrering, uden faktisk at køre den.

Hvis du af en eller anden grund ikke ønsker at gøre det, kan du vælge ikke at bruge --autogenerate og i stedet generere tomme revisioner, som du udfylder med de operationer, du ønsker. Alembic vil ikke forhindre dig i at gøre dette, det er bare meget mindre bekvemt.



  1. Tilføjelse af tekst til databasen

  2. Problemer med at logge ind på mysql som ikke-root

  3. Sequelize læser kun dato og klokkeslæt i UTC

  4. Sådan opdaterer du en kolonne med sammenkædning af to andre kolonner i samme tabel