我正在更新一个使用Core Data进行数据管理的应用程序。在当前版本中,我实现了 Magic Record 并更新了数据模型。数据模型将无法使用自动迁移,因此我需要实现手动迁移。我很困惑如何用Magic Record做到这一点。
我查看了Magic Record的源代码,从它的外观来看,在尝试创建持久存储协调器时,没有支持迁移管理器的实现。
当DEBUG
标志设置为true时,应用程序将删除不兼容的版本并使用当前版本创建新数据库。但是,这不会迁移所有数据。从文档来看,看起来这个功能已经实现,因此我们不必通过删除应用程序并重新安装来不断删除旧版本,这样才有意义。
Magic Record支持迁移管理员吗?我曾想过将它添加到源代码中,但我不想修改库。
答案 0 :(得分:2)
我asked MagicalRecord的作者并得到了以下答案:
我刚把它添加到实验分支中。看看吧 MagicalRecord类方法
+setupCoreDataStackWIthManuallyMigratingStoreNamed:
让我知道它是如何为您服务的。另外在实验分支中还有其他一些 需要迁移(pun!)的功能回到主分支,所以让 我知道你是否还能找到其他任何东西。
答案 1 :(得分:1)
您无需修改MagicalRecord。只需在设置MagicalRecord堆栈之前触发迁移管理器。