0

我有 3 到 4 个单个 Rails 应用程序的数据库,这些数据库经过多年修改并存档了多年的数据。

我现在想将所有这些数据库合并到一个数据库中,但还需要确保维护表的 ID 和关系。

有什么方法可以毫无顾虑地合并,或者我必须检查每一个合并记录并维护关系。

例如,我有 DB1-2011 和 DB1-2012 说程序表具有相同的结构,列可能会在 2012 年发生变化,但没什么大不了的。但是可能会发生 DB1-2011.programs 有 id 5 和相关记录 & DB1-2012.programs 也有 id 5 的记录

所以在这里我可以如何处理这种情况而不用担心。有什么方法可以让 MySQL / Rails / 任何其他软件更改/自动增加其他 id 并更新相关记录?如果没有,那么最好的方法是什么。

让我知道是否需要更多信息。

4

1 回答 1

2

据我所知,你面临着一项令人羡慕的任务。如果您的表关系数量相当少,我会采取以下方法:

  • 对所有数据进行多个可恢复的备份。确保你知道如何恢复这些。在确定之前不要继续进行。
  • 决定哪个应用程序将成为您未来的规范实例
  • 使用这样的技术创建与其他数据库的连接
  • 设计一系列迁移,将在您的规范实例上运行,create!在您的规范数据库中重新迭代这些连接和实体。例如,您将创建Program实例,然后创建关联的对象。它们将被赋予新的、与规范一致的标识符,其余数据将原封不动地提交。

您需要非常小心地记住所有关系,并以合理的顺序应用迭代,这就是为什么我只会在您拥有可认知管理数量的表和关系时才这样做。

祝你好运!

于 2013-11-05T21:28:23.917 回答