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

Wie verwende ich SQLAlchemy, um nahtlos auf mehrere Datenbanken zuzugreifen?

Sicher können Sie das mit SQLAlchemy machen.

Alles, was Sie tun müssen, ist, verschiedene Connection Engines zu erstellen, jede mit ihrem eigenen Session Maker. Nichts in SQLAlchemy beschränkt Sie auf jeweils nur eine Datenbank.

engines = []
sessions = []
for dbconninfo in databases:
    engine = create_engine(dbconninfo)
    engines.append(engine)
    sessions.append(sessionmaker(bind=engine)())

Sie können jede Sitzung verwenden, um Abfragen auszuführen, Ergebnisobjekte werden an die Sitzung angehängt, die sie erzeugt hat, sodass Änderungen an die richtige Datenbank zurückfließen. Studieren Sie die Sitzungsdokumentation im Detail, um beispielsweise zu sehen, was passiert, wenn Sie ein Objekt aus einer Sitzung in eine andere zusammenführen.