新建React Native项目替代版本升级,用户本地Realm数据能否正常使用?
React Native升级迁移后Realm本地数据兼容性问题
只要做好以下关键事项,用户就能无问题继续使用,本地Realm数据也不会丢失:
- 保持Realm版本完全一致:新项目必须安装和旧版App一模一样的Realm包版本,不能随便升级Realm。不同版本的Realm可能用了不同的数据库文件格式,版本不匹配会导致旧数据读不出来。
- 确保数据库存储路径不变:Realm默认存在App的沙盒目录里,只要iOS的Bundle ID、Android的包名没改,默认路径就不会变,不用额外配置。如果之前自定义过存储路径,新项目里必须完全照搬旧的路径设置。
- 数据模型要兼容:新项目里的Realm数据模型(Schema)不能随便改。如果要调整模型,必须按Realm的迁移规则来:比如新增字段要设为可选,修改字段类型得写迁移脚本。直接改模型不做迁移,App启动就会崩。
- 务必做真实场景测试:先装旧版App录入测试数据,再装新版迁移后的App,检查数据能不能正常读取,增删改查功能是否正常,确保没有问题再发布。
- 签名和包信息一致:iOS要保持相同的签名证书和Bundle ID,Android要保持相同的包名和签名密钥,不然系统会把新版当成新App,没法覆盖安装,用户数据自然也没法继承。
如果以上几点都做到位,用户升级后完全可以正常使用,本地数据不受影响。要是哪一点没做好,可能会出现数据丢失或者App崩溃的情况。
内容的提问来源于stack exchange,提问作者Blogger Klik
相关产品推荐
相关产品推荐

