如何纠正数据迁移失败?

问题描述 投票:0回答:1

我不知道将iOS App升级到较新版本时数据迁移失败怎么办?由于该应用程序实际上已经升级,这是否意味着用户永远丢失了他的数据?用户,应用程序的开发人员或应用程序可以做任何事情来取回保存在旧模式中的数据吗?

我知道App开发人员应尽一切可能避免这种情况的发生。但是软件容易出错,我无法相信它从未发生过。在这种情况下,人们如何处理?

我问这个,因为我正在编写一个具有复杂数据模式的应用程序。我希望我可能会在最初发布后对数据模式进行一些更改。知道发生这种事情我该怎么办。

我还考虑在App中提供一项功能,以将数据导出到特定于App格式的文本文件,该格式使用高级描述语言,并且可以与不同版本的App一起使用。但是问题是iOS升级会自动进行,用户不知道何时进行升级并导出数据。

ios core-data core-data-migration
1个回答
0
投票

由开发人员定义可持续的数据迁移过程。应根据开发人员所做的更改类型采取方法。

如果添加了一些新的属性,实体或关系,或者更改了它们的某些属性,仅提供新的模型版本就足够了。开发人员应确保在迁移后满足所有必需的关系。

如果重命名关系或删除关系(例如,一对一关系以使其成为一对多关系,则这种更改可能容易出错)。在这种情况下,在新的应用程序版本中,开发人员应创建一个在新架构上工作的数据库,然后将所有数据以旧格式的新格式复制到旧架构中。

这样,即使X​​code在升级时也可以工作。例如,您可以通过~/Library/Developer/Xcode/iOS Device Logs路径找到iOS设备日志的数据库,并且每个数据库名称中都有Xcode应用程序版本。 Xcode将先前的数据库迁移到新数据库中,而无需原地迁移先前的数据库。

© www.soinside.com 2019 - 2024. All rights reserved.