通过在App Store上更新实时版本,SQLite数据库迁移到Core Data

时间:2015-02-13 14:31:30

标签: ios sqlite core-data core-data-migration

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

将数据迁移到新数据库的最佳方法是什么。所以代码很丑,我已经开始编写新项目了。这意味着不会像以前那样使用相同名称的SQLite数据库,只需要新的Core Data db。我们通常需要解决这个问题。

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

1 个答案:

答案 0 :(得分:1)

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

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