【问题标题】:multiple databases with same structure具有相同结构的多个数据库
【发布时间】:2011-04-15 14:05:37
【问题描述】:

在教义2中处理不同基础但具有相同架构的最佳方法是什么。目前我

  1. 为每个数据库分别生成实体,为每个元数据对象添加命名空间和数据库名称,将它们放在不同的命名空间(XXX\Base\EntityClass)中,但别名相同
  2. 为每个基地创建一个 EntityManager(即使它们共享相同的连接)
  3. 创建一个代理,将调用传递给多个 EntityManager 并收集响应
  4. 在一个输出中合并响应

是否有更简单的方法来处理学说2 中的多个基础?

【问题讨论】:

    标签: php database orm doctrine-orm multiple-databases


    【解决方案1】:

    我无法回答学说 2,但我在 C# 中执行此操作。

    1. 一组实体,具有强名称和强类型,根据应用程序其余部分的需求进行定义。这会映射架构,但不绑定到任一数据库。
    2. 一个门面,知道您当前正在使用哪个数据库,并将请求定向到两个数据库之一...
    3. 单独的数据访问命名空间,处理一组通用操作,并将结果填充到一组实体中,这些实体通过外观返回给请求者。
    4. 基于从数据库目录读取 scema 的静态代码生成器非常有用。如果您可以推断出您需要了解的有关其他数据库的所有信息,您可能希望选择一个作为模型。
    5. 动态代码生成器也很有用,用于插入、更新、where 子句等。
    6. 在支持所有这些的框架上投入一些时间。确定您是否需要在运行时保留元数据,以及是否主要用于支持查询或更改操作。提供从任一数据库的结果集中提取数据的通用方法,以便您可以将强命名和类型化的结果集返回到您的应用程序,而无需考虑底层数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-20
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多