【问题标题】:Use and relate multiple databases使用和关联多个数据库
【发布时间】:2012-06-15 23:08:01
【问题描述】:

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

编辑: 这是某种评论系统。我已经有一个包含数据(帖子)的数据库,现在我正在围绕它构建一个社交 Flask Web 应用程序,用户可以在其中注册和评论这些帖子。 最好,我希望帖子数据库的代码尽可能保持不变,以便我可以将相同的代码用于 Web 和桌面应用程序。

这就是它的基本外观:

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

database2 (created and controlled by SQLAlchemy):
  - posts

【问题讨论】:

  • 两个数据库包含不同的表,还是相同的表?
  • 我更新了我的问题,希望现在更清楚了。

标签: sqlite sqlalchemy multiple-databases


【解决方案1】:

请查看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 中的答案,这将为您提供更多示例代码

【讨论】:

    猜你喜欢
    • 2016-11-05
    • 1970-01-01
    • 2015-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-20
    相关资源
    最近更新 更多