我在应用商店上有实时应用程序。它使用SQLite数据存储和难看的方法来保存数据并从中获取数据。我已经用核心数据替换了数据模型。因此,现在我有一个包含收藏夹列表的表。我想用户将丢失他们的收藏夹数据,第二个问题是以前的SQLite数据库将在应用程序中。

将数据迁移到新数据库的最佳方法是什么。所以代码很难看,我已经开始编写新项目。这意味着将不会有任何具有相同名称的SQLite数据库,只有新的Core Data db。我们多久需要解决这个问题。

我想我可以在应用程序委托中添加一个方法,该方法将检查应用程序中是否具有名称的数据库,我将尝试从该存储中检索所有数据并将其转换为Core Data实体。然后,当数据将成功转换时,我将删除该数据库。如果我所有的活动用户都将拥有此更新。我将从应用程序委托中删除此功能,因为所有功能都是最新的。是否有意义?

最佳答案

您的方法是正确的。在新的应用程序版本中,检查是否有最新的Core Data持久性存储,如果没有,请读取旧数据,将其复制到Core Data,删除旧的sqlite文件。

您可以将代码保留在那里很长时间-如果已经有有效的Core Data安装,它将不会运行。

关于ios - 通过在App Store上更新实时版本将SQLite数据库迁移到Core Data,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28501850/

10-16 15:08
查看更多