【问题标题】:One-side data synchronization between two apps两个应用程序之间的一侧数据同步
【发布时间】:2016-06-12 17:48:47
【问题描述】:

有 2 个应用程序,让我们说旧的和新的。两个应用程序都有一个用户实体,每个用户都有很多帖子。

最初,新应用中的数据是旧应用的完整副本。但随后会在两个地方独立修改。

旧应用程序的代码无法修改,新应用程序必须包含两个应用程序的数据更改。如果一个用户的两个应用程序都发生了变化,那么它们应该被合并(自动或通过用户交互)。

在实际应用中,关联更多,架构略有不同。

最好的方法是什么?

【问题讨论】:

  • 您好,是管理数据库中的源代码还是数据?这部分有点令人困惑,您能否解释一下...“旧应用程序的代码无法修改,新应用程序的代码必须包含两个应用程序的数据更改。如果一个用户的两个应用程序都有更改,那么它们应该被合并(自动或与用户交互)。”
  • 无法修改旧应用程序中的代码或架构以添加任何内容。可以更改新应用中的代码以管理数据更新。

标签: ruby-on-rails database database-design architecture database-schema


【解决方案1】:

您有旧的应用程序及其实体。您将从旧应用程序复制,并将根据更改请求进行修改并将它们构建为新应用程序。现在,您只想为任何新的更改或增强功能维护新应用及其实体。

请按照以下步骤,

  • 从旧应用中复制代码(如果您希望以其他方式从头开始编写)和实体

如果业务流程发生变化

  • 编写一个中间组件,将旧数据转换/解析成新数据模式
  • 新应用将始终与新的 DAL(新实体)层对话
  • 旧应用程序将通过中间(包装器类)将旧实体转换/解析为新实体

如果业务流程没有变化,只有架构变化

  • 实施任何适合您需要的 ETL

注意:

  • 标识将被修改的组件或实体(如果更改仅限于某些组件)

希望这将帮助您获得见解并解决您的问题。

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多