PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como usar o SQLAlchemy para acessar facilmente vários bancos de dados?


Claro que você pode fazer isso com SQLAlchemy.

Tudo o que você precisa fazer é criar mecanismos de conexão diferentes, cada um com seu próprio criador de sessão. Nada no SQLAlchemy limita você a apenas um banco de dados por vez.
engines = []
sessions = []
for dbconninfo in databases:
    engine = create_engine(dbconninfo)
    engines.append(engine)
    sessions.append(sessionmaker(bind=engine)())

Você pode usar cada sessão para executar consultas, os objetos de resultado são anexados à sessão que os produziu, para que as alterações fluam de volta para o banco de dados correto. Estude a documentação da sessão em detalhes, para ver o que acontece se você mesclar um objeto de uma sessão em outra, por exemplo.