我有一个可以随时更改的远程数据库。我需要找到一种方法来保持我的sqlite数据库更新,以更好和优化的方式进行所有更改。
我认为每个表只有一个时间戳并且只将更新的表发送到客户端将是一个解决方案,或者每行可能有一个时间戳并且只将更新的行发送给客户端。
但是 - 例如,我如何管理已删除的项目? - 我如何管理Android上的技术更新?
基本上,简而言之,在应用程序的某个时刻,我需要使用API下载更改并更新本地数据库。
有没有人有想法?
由于
答案 0 :(得分:0)
由于这似乎是单向同步,我会:
使服务器数据库上的每个表都有一个UUID列和一个最后一个 更新日期/时间栏。
创建一个请求更新数据的REST调用。理想情况下,它会 花时间更新客户端。这个日期应该来自 更新呼叫期间的服务器。
服务器将扫描每个表,搜索日期>的行。比过去的日期。序列化数据并将其作为JSON以及下一个请求的服务器日期/时间返回。
现在跟踪删除工作要多得多。你可以:
虽然这是最复杂的,但我可能会选择选项3,因为我不喜欢旧的数据。我要去的方向还取决于将与DB同步的客户端数量。