我是否必须迁移Coredata库的行?

时间:2012-06-14 13:48:11

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

我在商店有一个应用程序,在CoreData库中有填充数据。为了预先填充数据库,我们使用应用程序数据生成了一个.sqlite文件。

例如在表PERSON中,我有

134  Martin  Developer
256  John    Boss
371  Doe     Somebody

在我的应用程序的新版本中,PERSON表看起来像

134  Martin  Developer
256  John    Boss
399  Mister  Someoneelse

所以我将371行替换为399行。

它运行正常,除非我在旧版本上安装新应用程序。在这种情况下,数据根本不会改变。我看起来像一个迁移问题,但数据库结构完全相同。只有行已更改。

这是迁移问题吗?

1 个答案:

答案 0 :(得分:1)

当您拥有预填充数据库时,通常在第一次在设备上运行时,将其复制到应用程序文档目录。据推测,您也希望将用户数据保存在数据库中,并且sqlite存储必须位于应用程序文档目录中才能写入。

所以,如果你没有进行复制 - 先实现这一点。

然后(假设您没有更改数据模型),在您的问题中进行更改

  1. 检索有问题的记录
  2. 删除它
  3. 插入替换件
  4. 保存