【问题标题】:Merging same structure databases but keeping their existing data.合并相同结构的数据库,但保留其现有数据。
【发布时间】:2014-07-17 04:32:27
【问题描述】:

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

【问题讨论】:

  • 相当不可行...... AFAIK。

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


【解决方案1】:

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

基本上我会

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

【讨论】:

  • 感谢这个,虽然我已经想出了另一个使用公寓 gem 的解决方案,它允许我转储数据,它们只是通过模式隔离。 :)
  • @Berimbolo:当然,如果可以选择单独的模式,那就更容易了!我知道您想将数据合并到同一个表中。
猜你喜欢
  • 2023-03-22
  • 1970-01-01
  • 2013-03-24
  • 2014-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多