Die kurze Antwort ist, dass es am einfachsten ist, separate Instanzen von allen für beide Datenbanken zu haben. Es ist möglich, ein einzelnes Routing zu erstellen Sitzung , aber es hat seine Vorbehalte.
Der sessionmaker
und Session
unterstützt auch Mehrfachübergabe bindet als Argument
und 2-Phasen-Commits
, die auch die Verwendung einer einzelnen Sitzung mit mehreren Datenbanken ermöglichen kann. Glücklicherweise sind PostgreSQL und MySQL die beiden Datenbanken, die 2-Phasen-Commits unterstützen.
Über die Beziehung zwischen Base
und metadata
:
Base
ist eine Basisklasse mit einer Metaklasse, die zum deklarativen Erstellen von Table
verwendet wird Objekte aus Informationen, die in der Klasse selbst und ihren Unterklassen bereitgestellt werden. Alle Table
Objekte, die implizit von Unterklassen von Base
deklariert werden werden die gleichen MetaData
teilen .
Sie können Metadaten bereitstellen als Argument beim Erstellen einer neuen deklarativen Basis verwenden und sie somit zwischen mehreren Base
teilen s, aber in Ihrem Fall ist es nicht sinnvoll.
metadata
ist eine Sammlung von Table
Objekte und ihre zugeordneten Schemakonstrukte. Es kann auch eine Bindung zu einer Engine
halten oder Session
.
Kurz gesagt, Sie können Table
haben s und MetaData
ohne Base
, sondern eine Base
erfordert MetaData
zu funktionieren.