好吧,我在iOS和Android上构建应用程序,这两个应用程序都需要与云数据库MySQL同步。这两个应用程序都脱机工作,因此我需要所有插入和更新功能。删除可能不会被使用,但我仍然想知道。
嗯,我在这里看到的是解决方案或想法或算法需要做的事情。
我已将CreatedOn和LastSync保留为每个表的时间戳列。
现在问题是我应该每次都检查所有行和所有列吗?
我认为我应该在所有表上保留ModifiedOn列,并使用LastSync检查每个设备ID。你们有什么建议?
答案 0 :(得分:0)
也许它不是您正在等待的答案,但在我正在开展的项目中,我们正在使用Azure移动服务。有一个Android和iOS SDK,他们实现了脱机数据库和Azure之间的同步(就像在Git中你可以调用推送和拉取方法)。
有一些限制(TableStorage是一个有限的MSSQL存储),但你应该检查一下。
答案 1 :(得分:0)
我知道它已经过了两年了,但我一直都在做同样的事情(Android应用程序与web api和postgresql同步)
到目前为止我做了什么(仍在研究它是否是最好的方式,这就是我发现这个问题的方法)是我保留一个last_update字段,其中包含数据last_updated和更改字段的时间戳使用布尔值来判断数据是否被更改(通过设备上的用户操作)
所以当我执行同步时:
这可能导致一些重复数据被转移(特别是如果你经常进行大量更改)但在我的情况下这是一种罕见的现象