跨数据库加入sqlalchemy

| SQLAlchemy中是否有一种方法可以进行跨数据库联接。具体来说,这是我的用例: 架构图 db1.entity1 entity1_id:主键 entity2_id:db2.entity2.entity2_id的外键 db2.entity2 entity2_id:主键 模型 我正在为模型使用声明式样式。
class Entity1(Base):
  __tablename__ = \'entity1\' ## I tried combination of <db>.<table> with no success
  entity1_id = Column(Integer, primary_key=True)
  entity2_id = Column(Integer, ForeignKey(\'db2.entity2.entity2_id\'))
  entity2 = relationship(\'Entity2\')

class Entity2(Base):
  __tablename__ = \'entity2\' ## I tried combination of <db>.<table> with no success
  entity2_id = Column(Integer, primary_key=True)
现在,正如预期的那样,我对Entity1的查询失败,并显示MySQL错误消息,提示未找到表Entity2。我为ѭ1尝试了许多不同的组合,但均未成功。所以我想知道在SQLAlchemy中是否可能。     
已邀请:
        您可能需要将
schema
参数传递给
sqlalchemy.schema.Table
。当使用声明式基进行ORM映射时,可以通过类的
__table_args__
属性提供此额外参数。
class Entity2(Base):
    __tablename__ = \'entity2\' ## I tried combination of <db>.<table> with no success
    __table_args__ = {\'schema\': \'db2\'}
    entity2_id = Column(Integer, primary_key=True) 

class Entity1(Base):
    __tablename__ = \'entity1\' ## I tried combination of <db>.<table> with no success
    __table_args__ = {\'schema\': \'db1\'}
    entity1_id = Column(Integer, primary_key=True)
    entity2_id = Column(Integer, ForeignKey(Entity2.entity2_id))
    entity2 = relationship(\'Entity2\')
    

要回复问题请先登录注册