两个数据库中模型的重复活动记录操作

时间:2016-12-16 12:00:12

标签: ruby-on-rails ruby

我们有来自世界各地的客户,他们的要求之一是在美国或欧洲存储数据。

要做到这一点 - 我们的模型之一,应该在两个数据库(美国/欧洲)中复制信息,这意味着如果模型更新,它还应该为第二个数据库启动更新。如果创建了新记录,则应在第一个数据库中创建,第二个。所以基本上它应该在两个数据库中复制AR动作(除了select)。

我更新了database.yml以存储两个数据库配置:

development:
  adapter: mysql2
  encoding: utf8mb4
  host: 127.0.0.1
  username: xx
  password: xx
  database: _
  pool: 25

development_usa:
  adapter: mysql2
  encoding: utf8mb4
  host: 127.0.0.1
  username: xx
  password: xx
  database: _usa
  pool: 25

之后,我逻辑上考虑将操作覆盖为save http://apidock.com/rails/ActiveResource/Base/save,但知道有更多的事情要做,而不是像.save .update_attribute这样做源代码,它们都调用不同的方法,因此覆盖所有这些函数是太多的工作。

有没有办法在提交后在两个数据库中克隆一个模型?

1 个答案:

答案 0 :(得分:-1)

你应该尝试章鱼宝石,它允许以下功能

<强>复制

<强>分片

复制+分片

https://github.com/thiagopradi/octopus