【问题标题】:Adding a new RLMObject to an existing Realm - Schema and Migrations将新的 RLMObject 添加到现有领域 - 模式和迁移
【发布时间】:2016-07-14 15:15:15
【问题描述】:

概述

我有一个现有的领域,其中包含大约两打持久模型。该 Realm 的配置及其对应的 schema-version 为 1。最近向应用程序添加了一些新功能,需要向 Realm 添加新模型。鉴于添加了模型,将模式版本增加到 2,因为添加了新模型,所以看起来是合乎逻辑的事情,因为通过添加新模型改变了模式。然而它会导致崩溃。

预期结果

将新模型添加到领域后,我应该将领域配置模式版本增加到 2,并有一个用于迁移的处理程序。没有对任何现有模型更改任何属性。一切都应该正常工作。

实际结果

将新模型添加到 Realm,并将 Realm 配置模式版本增加到 2,并使用用于迁移的处理程序块,Realm 崩溃并出现 EXC_BAD_ACCESS。

将 Realm 配置 schema-version 减回到 1 似乎可以解决崩溃问题。


文档清楚地说明了在更改模型属性时增加架构版本和迁移块处理程序。尽管尚不清楚仅添加新模型并增加模式版本。

谁能澄清和验证?

  • 运行 Realm 0.96.3 (realm-cocoa)
  • Xcode 7.3.1 (7D1014)

【问题讨论】:

  • 首先,Realm 0.96.3 是一个相当老的版本。最新版本是 v1.0.2。其次,你能分享你看到的崩溃的回溯吗?它可能包含有助于了解其发生原因的信息。
  • @bdash 感谢您如此迅速地回复。我们肯定落后于版本。这是最近的trace of a crash
  • 该崩溃看起来与github.com/realm/realm-cocoa/issues/3398 相同,这显然是旧版本的 Realm 和 Xcode 7.3 之间的不兼容。

标签: ios realm realm-migration


【解决方案1】:

向 Realm 添加新模型类不需要迁移或架构版本升级;只对现有的进行更改。

如果您可以使用最新版本的 Realm 重现崩溃,那么将非常感谢在 the issue tracker 上的错误报告,但很有可能在 0.96.3 发布后的 7 个月内得到修复。

【讨论】:

    猜你喜欢
    • 2019-08-30
    • 2018-01-24
    • 2019-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多