Unir tabelas em dois bancos de dados usando SQLAlchemy
Estou trabalhando com dois bancos de dados MySQL. Quero ingressar em uma tabela do DB 1 com uma tabela do DB2 no SQLAlchemy.
Estou usando o automap_base ao criar a camada de acesso a dados no sqlalchemy da seguinte maneira ...
class DBHandleBase(object):
def __init__(self, connection_string='mysql+pymysql://root:xxxxxxx@localhost/services', pool_recycle=3600):
self.Base_ = automap_base()
self.engine_ = create_engine(connection_string,
pool_recycle = pool_recycle)
self.Base_.prepare(self.engine_, reflect=True)
self.session_ = Session(self.engine_)
E minhas mesas Classe é como
class T1D1_Repo():
def __init__(self, dbHandle):
# create a cursor
self.Table_ = dbHandle.Base_.classes.t1
self.session_ = dbHandle.session_
Estou fazendo a junção assim,
db1_handle = DB1_Handle()
db2_handle = DB2_Handle()
t1d1_repo = T1D1_Repo(handle)
t1d2_repo = T1D2_Repo(person_handle)
result = t1d1_repo.session_.query(
t1d1_repo.Table_,
t1d2_repo.Table_).join(t1d2_repo.Table_, (
t1d1_repo.Table_.person_id
== t1d2_repo.Table_.uuid))
Estou recebendo o erro assim:
sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError) (1146, "Table 'db1.t1d2' doesn't exist") [SQL: 'SELECT
criamos a tabela t1 no banco de dados db1 e a tabela t2 no banco de dados db2.
É possível ingressar em uma tabela de dois bancos de dados no sqlalchemy ORM? Como conseguir isso?