【问题标题】:SQLite database migration to Core Data with updating live version on App StoreSQLite 数据库迁移到 Core Data 并在 App Store 上更新实时版本
【发布时间】:2015-04-14 15:04:03
【问题描述】:

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

将数据迁移到新数据库的最佳方法是什么。所以代码很丑,我开始写新项目。这意味着不会有任何同名的 SQLite 数据库,只有新的 Core Data db。我们通常需要如何解决这个问题。

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

【问题讨论】:

  • 你的表数据结构和表中的关系是相同还是不同?
  • @Shashi3456643,幸运的是没有关系,但我认为数据模型的结构将是相同的。但在这种情况下,我将使用实体作为收藏夹列表。我什至做了一些可能不是很好的事情,所以我最喜欢的实体有 NSMutableDictionary 作为包含有关条目的所有信息的值。对于目前的小型结构来说还可以。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-05
    • 2016-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多