在沙发和mysql之间自动同步数据

时间:2018-05-07 07:34:14

标签: php mysql couchdb offlineapps

我需要为已经使用apache,mysql和php开发的Web应用程序开发离线应用程序。我刚刚发现我们可以用沙发和小袋db开发离线应用程序。

但我认为我需要将数据从mysql自动同步到沙发数据库(并且沙发到mysql也是如此)。根据我的理解,我可以编写php代码从mysql读取数据并将数据放入沙发数据库(以及使用couchdb到mysql)。但我不确定我们如何将沙发数据库和mysql数据保持更新。 (我的意思是当改变发生在一端时自动同步数据)。

任何人都可以建议我使用该工具或其他任何方法来找到自动同步数据的方法吗?

1 个答案:

答案 0 :(得分:1)

这种同步没有通用的解决方案。你应该为此编写自己的代码。

您应该编写一种映射机制,将关系数据模型转换为文档,反之亦然。

从MySQL你需要一个变化检测机制来确定每个同步周期后应该传输到CouchDB的数据(例如,使用时间戳作为检查点),将数据转换为json docs,然后将其保存/合并到CouchDB内容。

从CouchDB,您可以使用_changes端点监听文档更改,并且每次更改都会通过将它们转换为DML操作将其传输到MySQL。

所有这些都取决于您的使用案例,并且可能难以编写通用的集成机制。