GOOGLE ADS

Freitag, 15. April 2022

So erstellen Sie eine Tabelle in einer vorhandenen Datenbank mit sqlalchemy

Meine Infrastruktur besteht aus 2 Docker-Containern: postgres db (mit user/pass/dbname-Parametern, die mit env in docker-compose.yml konfiguriert sind) und einer einfachen Flask-App mit Formular, was einen neuen Datensatz in der Tabelle erstellt. Es funktioniert, wenn die Tabelle manuell erstellt wurde. Ich muss die if_exists-Tabelle beim App-Start überprüfen und erstellen, wenn sie "false" sendet, aber die Standard-Create-Funktion auf sqlalchemy create table öffentlich, nicht in der Engine-Datenbank.

Ich habe engine.execute("\c dbname") versucht, aber es funktioniert nicht.


Lösung des Problems

Dies ist meine Antwort:

conn = engine.connect() 
metadata = MetaData(engine)
exist=sqlalchemy.inspect(engine).has_table("Products")
if exist == False:
print("=Table doesn't exist=")
products = Table('products', metadata,
Column('id', Integer(), primary_key=True),
Column('product', String(200), nullable=False),
Column('price', Integer())
)
metadata.create_all(engine)
print("=Table was created=")
else:
print("=Table exists=")
logging.info('Table exists')

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...