gpt4 book ai didi

java - 迁移两个 Realm 实例之一

转载 作者:行者123 更新时间:2023-12-01 10:29:06 25 4
gpt4 key购买 nike

我正在为不同的数据集使用两个 Realm 实例。1号realm实例用于静态数据,2号realm实例用于用户数据。

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

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

带有迁移代码的第二个 Ream(#2) 成功无异常。

为什么会发生这种情况?我是否也必须向 #1 Realm 提供迁移代码?

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

//#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();

最佳答案

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

解决方案是使用 RealmModule 将模式分离到不同的 Realm 中。

参见document 。和example .

关于java - 迁移两个 Realm 实例之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35191464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com