【问题标题】:Migrating with custom policy in Magical Record使用 Magical Record 中的自定义策略进行迁移
【发布时间】:2013-04-21 15:03:35
【问题描述】:

我正在更新我的一个使用 Core Data 进行数据管理的应用程序。在当前版本中,我实现了 Magic Record 并更新了数据模型。数据模型将无法使用自动迁移,所以我需要实现手动迁移。我对如何使用 Magic Record 执行此操作感到困惑。

我查看了 Magic Record 的源代码,从它的外观来看,在尝试创建持久存储协调器时没有支持迁移管理器的实现。

DEBUG 标志设置为true 时,应用程序会删除不兼容的版本并使用当前版本创建一个新数据库。但是,这不会迁移所有数据。从文档来看,这个功能似乎已经实现,因此我们不必通过删除应用程序并重新安装来不断删除旧版本,所以这是有道理的。

Magic Record 支持迁移管理器吗?有想过把它加到源代码中,但我不想修改库。

【问题讨论】:

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


    【解决方案1】:

    askedMagicalRecord 的作者得到了以下答案:

    我刚刚将它添加到实验分支。看看 MagicalRecord 类方法

    +setupCoreDataStackWIthManuallyMigratingStoreNamed:

    让我知道你的效果如何。在实验分支中还有一些其他的 需要迁移(双关语!)回主分支的功能,所以让 我知道你是否还在那里找到其他东西。

    【讨论】:

    • 看起来这种方法在过去 3 年没有进入完整版本。还有其他官方选择吗?
    【解决方案2】:

    您不需要修改 MagicalRecord。只需在设置 MagicalRecord 堆栈之前触发迁移管理器即可。

    • 在应用程序启动时检测您是否需要迁移。
    • 如果需要迁移,请运行迁移管理器。一个很好的例子是SO 5995231
    • 完成或不需要迁移后,启动 MagicalRecord 堆栈。

    【讨论】:

      猜你喜欢
      • 2012-09-20
      • 1970-01-01
      • 2011-10-25
      • 2013-07-22
      • 2022-10-06
      • 1970-01-01
      • 2018-05-10
      • 1970-01-01
      • 2012-07-01
      相关资源
      最近更新 更多