我有一个使用 Core Data(后端的 SQLite)的 iOS 应用程序。它只有一个实体,“项目”。该应用程序捆绑了一个 SQLite 文件,其中预先添加了数百个项目,因此当用户从 App Store 下载该应用程序时,它已经拥有数据。
唯一的实体具有BOOL favorite
用户可以更改的属性,当然,用于检查项目是否在用户最喜欢的项目中。
我计划发布应用程序的更新,其中包含应用程序包中预建的更多项目(一个新的 SQLite 文件),但我想保留用户的收藏夹。同样,在这个版本中,我的核心数据模型将进行一些修改(我需要在“项目”实体中添加一些新属性)。新的项目集是旧项目的超集(旧版本应用程序中的项目应始终在新版本中)。
我一直在为此苦苦挣扎,但找不到解决方案。我能够升级数据模型,在我的实体中引入新属性,同时保持用户的最爱(执行所谓的轻量级迁移,但是我无法合并新旧项目。另一方面,我m 能够获得新的预添加项目,但随后与收藏相关的数据被丢弃。
有什么提示吗?谢谢大家