我使用Realm
启动了我的应用,因为这似乎是当时最方便的数据存储方式。
此刻,对于我来说,这个领域有两个大弊端:
SQLite
相比,这是一个问题(我的用例非常简单,不需要高级功能)因此,我想回到普通的SQLite
(也许使用Room
)。
事情是,为了“迁移”,我需要在相当长的一段时间内同时使用两者,才能迁移所有现有用户。
计划为:
为Room
具有升级机制,该机制将所有Realm表填满Room
表
仅在应用程序中使用Room
数据结构
发布应用版本X
有时会从应用程序中删除Realm(仅当99%的用户使用应用程序X版时,才能完成此操作)
我想没有其他办法了,或者有人已经面临过同样的问题吗?
答案 0 :(得分:0)
我现在处在相同的情况。
我想说,您执行第1-5步的计划是从 Realm到SQLite 的应用内/本地数据库迁移。此外,它还考虑了用户采用正确版本以使数据库迁移对用户有效(100%)的所有注意事项。
我正在考虑另一种选择。 网络服务。 (请耐心等待,因为我尚未实施此解决方案,我仍在考虑/计划阶段。)
如果预算允许,如何设置Web服务来代表应用程序进行数据库迁移?
遵循以下原则:
如前所述,我还没有实现这种解决方案,所以我还不能提供有关实用性的见解(如果我遵循这一道路,我将更新此答案)。
我觉得这种在线数据库迁移方法的主要优点是,我们从数据库迁移中卸载了应用程序;另一方面,它为已经具有风险的任务增加了相当大的复杂性。
最后,我现在可以想到的另一种可能性是完全在线, Firebase-ish 或可通过Web API访问数据库。但我相信这条路与我根据您的问题得出的情况不符。
也希望能收到社区的来信。
好运。