使用和关联多个数据库

时间:2012-06-13 11:29:21

标签: sqlite sqlalchemy multiple-databases

我似乎无法找到一个好的答案。 SQLAlchemy(声明式)连接两个SQLite数据库的正确方法是什么?我还需要在这两个单独的数据库中的两个表之间建立关系。

修改 这是一种评论系统。我已经拥有一个包含数据(帖子)的数据库,我现在正在围绕它构建一个社交Flask web应用程序,用户可以在这些帖子上注册和评论这些帖子。 最好,我希望尽可能保持posts数据库的代码不变,这样我就可以在Web和桌面应用程序中使用相同的代码。

这就是它的基本面貌:

database1 (created and controlled by flask-sqlalchemy):
  - users
  - comments

database2 (created and controlled by SQLAlchemy):
  - posts

1 个答案:

答案 0 :(得分:0)

请查看Simple Vertical Partitioning的文档,从那里引用:

  

垂直分区放置不同类型的对象或不同的对象   表,跨多个数据库:

engine1 = create_engine('postgresql://db1')
engine2 = create_engine('postgresql://db2')

Session = sessionmaker(twophase=True)

# bind User operations to engine 1, Account operations to engine 2
Session.configure(binds={User:engine1, Account:engine2})

session = Session()

同时阅读问题SQLAlchemy Declarative + relationships across multiple different databases内的答案,这将为您提供更多示例代码