我有一个 Rails 应用程序,它使用两个与我拥有的另一个 Rails 应用程序相同的模型。在两个模型之间保持数据同步的最佳方法是什么?
由于托管限制和引用复制数据的内容是依赖的,MySQL 复制可能无法实现 => :destroy 意味着 mysql 复制将导致指向已删除的复制数据的内容保留。
简而言之,在应用程序级别,在每个模型的基础上,在两个 Rails 应用程序之间进行复制的最佳方法是什么?我是否必须使用 REST 破解我自己的复制,还是有更好的方法?
我应该补充一点,数据变化不频繁,一天最多几次,而且集合总是少于 50k 行。
编辑:为了回应托比在下面的评论,数据都是单向的。
最佳答案
这不是一个具体的答案,而是考虑某种排队机制。应用程序 A 进行更改并写入队列和数据库。 “队列”可以是数据库中的一个表,上面写着“App A changed Model M with id I”。然后,这两个应用程序都可以有一个进程来轮询此表并应用更改。
当双方修改同一个对象时就会遇到麻烦。
关于ruby-on-rails - 在没有 SQL 复制的情况下保持表在 Rails 应用程序之间同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/799935/