sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo usar SQLAlchemy para acceder sin problemas a múltiples bases de datos?

Seguro que puedes hacer eso con SQLAlchemy.

Todo lo que necesita hacer es crear diferentes motores de conexión, cada uno con su propio creador de sesiones. Nada en SQLAlchemy lo limita a una sola base de datos a la vez.

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

Puede usar cada sesión para ejecutar consultas, los objetos de resultado se adjuntan a la sesión que los produjo, de modo que los cambios fluyan de regreso a la base de datos correcta. Estudie la documentación de sesión en detalle, para ver qué sucede si fusiona un objeto de una sesión a otra, por ejemplo.