合并相同的结构数据库,但保留其现有数据。

时间:2014-07-17 04:32:27

标签: sql ruby-on-rails ruby-on-rails-3 postgresql-9.1 psql

目前我有3个(相同的代码库应用程序),它拥有自己的数据库和自己独特的数据。在经过几次原型测试之后我们决定寻求共享租赁,我们正朝着铁路的多租户方向迈进。我唯一最大的问题是,每个数据库都有自己的数据,具有唯一的ID等。如何通过sql命令/ dump或rails脚本合并它们,这样他们将拥有自己的account_id +保持所有数据的完整性?

1 个答案:

答案 0 :(得分:0)

绝对可行。这取决于很多细节。

基本上我会

  1. 对这三个进行完整备份。
  2. 准备每个数据库以保存兼容数据(无重复项)。
  3. 选择一个作为新主人。
  4. 转储其他两个(仅限数据)。
  5. 破解转储,以确保。转储中的典型COPY语句就可以了。
  6. 在主服务器中的现有数据之上恢复另外两个数据库中的数据。
  7. 确保正确设置所有序列。
  8. 运行vaccumdb -fz master