如何更新Pre-Populated CoreData SQLite文件?

时间:2015-04-06 08:37:15

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

我知道我可以将Pre-Populated SQLite文件设置为CoreData持久文件。但是当我更新我的应用程序版本,并且需要更新预填充数据时,我想知道是否还有其他方法可以做到这一点,除了在新版本启动后通过代码CRUD新的预先填充数据。

2 个答案:

答案 0 :(得分:0)

您可以选择预先填充的sqlite文件作为persistentStoreCoordinator中的源文件,但请记住,如果更新de数据,用户生成的内容将丢失...

答案 1 :(得分:0)

在我的一个项目中,我也遇到过类似的问题。我的方法是。

  1. 在Core Data中创建2个配置。一个用于静态数据,另一个用于动态数据。

  2. 在配置persistantCordinator时,设置两个单独的SQLite文件,对应CoreData配置。

  3. 除了在persistantCordinator级别设置两个单独的DB之外,没有提取编码工作。其他所有内容都将由CoreData管理。阅读,写作等。

  4. 对于静态数据库,请保留您自己的DATABASE版本。当您的静态数据更改时,此数据库版本会增加,并且在App启动时会检查具有此新版本的现有数据库版本。如果新版本更大,则复制并替换现有的静态数据库。

  5. 通过这种方法,您可以获得以下好处。

    1. 您不会丢失动态数据。

    2. 只有在静态数据发生变化时才需要更改静态数据库。

    3. 希望这有帮助。