【问题标题】:Migration of one of two realm instance迁移两个领域实例之一
【发布时间】:2016-02-04 02:34:19
【问题描述】:

我将两个领域实例用于不同的数据集。 静态数据的第一领域实例和用户数据的第二领域实例。

我向其中一个用户数据模型添加了一个新属性,因此我将 #2 领域从模式 0 迁移到了 1。

问题是当我在没有迁移代码的情况下访问 #1 领域(静态)时(因为没有任何改变 #2 的模型),我得到迁移异常。

带有迁移代码的 2nd Ream(#2) 无一例外地成功。

为什么会这样?我是否也必须向 #1 领域提供迁移代码?

以下是RealmConfiguraion 用于#1 和#2。这发生在 java 和 Realm 的 Obj-C 版本中。

//#1
config =  new RealmConfiguration.Builder(_activity)
                .name("static.realm")
                .build();

//#2
config =  new RealmConfiguration.Builder(_activity)
                .name("user.realm")
                .schemaVersion(1)
                .migration(new Migration())
                .build();

【问题讨论】:

    标签: java android migration realm


    【解决方案1】:

    默认情况下,在您的应用中打开的所有 Realm 都将具有该对象的所有架构。这意味着,即使您没有向其中写入任何对象,您仍然需要迁移 #1,因为架构存在那里。

    解决方案是使用RealmModule 将架构分离到不同的领域。

    document。 还有example

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-03
      相关资源
      最近更新 更多