问题标签 [realm-migration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
372 浏览

android - 使用assetFile() 进行领域迁移

我已按照Realm 网站上的迁移说明进行操作,assetFile()并在我的 Realm 配置中使用。然而,迁移的领域似乎是空的,因为任何查询都返回零个项目,而它应该返回至少一个。

许多例子assetFile()要么是旧的,要么是不正确的。谁能提供一个完整的例子来说明如何在 Android Assets 文件夹中使用 .realm 文件,并在首次安装时使用它?

0 投票
1 回答
1085 浏览

android - 域迁移与新的外国领域

我创建了一个新领域对象 (B),并在现有领域对象 (A) 中创建了一个新字段,它引用了新对象 B。在我的迁移文件中,我有这个:

它不起作用,我得到:java.lang.IllegalArgumentException:领域不支持此字段类型:B

如何在 A 中创建这个新字段,并在我的迁移文件中引用 B?

0 投票
0 回答
59 浏览

android - Realm.js 中的查询结果随机带有大写字符串字段

我在AndroidReact Native项目中使用Realm 1.2.0,并且根据查询限制(使用过滤()函数),我的结果集中的字符串字段全部为大写。

例子:

返回一个包含 (id, name, parentId) 的对象,其中 name 是字符串类型。

根据 ID,所有对象的名称字段都为大写。

我已经检查了表格内容并且数据没有大写,并且在不同表格的其他查询中也会发生同样的行为。

有谁知道如何使结果与表格中的一样?

0 投票
1 回答
676 浏览

swift - 当网络连接不可用时,领域使用本地数据库而不是同步?

正如我所见,当没有互联网连接来授权同步领域时(即使之前已成功授权),我的领域确实会回落到本地领域。如果本地领域有同步领域的任何信息副本,那可能会很好,但它没有。因此,同步领域仅适用于互联网连接,或者即使设备离线也有办法使其保持活动状态?

0 投票
1 回答
52 浏览

java - RealmMigration 删除了我领域中的所有数据

今天我改变了我的应用领域架构,所以我实现了一个迁移。在迁移中,我只需要添加一个字段,所以我做了:

但这抹去了我领域中的一切,我没有更多的数据。

这不是问题,因为我仍处于开发阶段。我做了迁移而不是卸载/重新安装应用程序只是为了学习如何实现 RealmMigration。

我做错什么了吗?我把所有东西都抹掉了正常吗?我需要添加更多代码吗?我已经阅读了文档并查看了示例应用程序。提供的代码没有更多内容。

领域配置:

至少:

编辑:

我通过删除. name("myRealm.realm")在第一次安装时,我没有使用 aRealmConfiguration所以领域的名称是:“default.realm”。谢谢大家的支持和回答!

0 投票
0 回答
249 浏览

android - 领域迁移在 Android 7.1.2 上崩溃

该应用程序因架构中不存在某些表的领域异常而崩溃。我在 Realm 数据库中创建了三个表并为其创建了迁移。应用程序更新(迁移)适用于所有版本的 Android,但对于 Android 7.1.2,应用程序会因上述异常而崩溃。

示例:我在手机上安装了 1.0 版的应用程序,然后我安装了 Android 7.1.2 更新,然后我将我的应用程序更新到了 2.0 版,其中包含我提到的三个新表。

有没有人遇到过这种情况?为什么迁移适用于早期版本的 Android,但在 7.1.2 上不起作用?

领域版本:3.1.4

0 投票
1 回答
942 浏览

objective-c - 向 Realm 对象添加属性时如何执行迁移

我收到如下崩溃报告: Migration is required due to the following errors: - Property 'UserProfile.interfaceLanguage' has been added.

我一般了解如何执行迁移,但我不知道添加属性时需要什么。 interfaceLanguage不是应用程序运行的严格要求,它最终会从服务器获取。我想我可以在迁移期间将其设置为某个值,但这似乎有点毫无意义。

此外,我认为这种情况是默认处理的:https ://realm.io/docs/swift/latest/#migrations

if (oldSchemaVersion < 1) { // 无事可做!// Realm 会自动检测新属性和移除的属性 // 并且会自动更新磁盘上的模式 }

0 投票
0 回答
949 浏览

ios - 为 Swift 3 列出 Realm 中的对象迁移

我向我的领域对象类添加了一个列表,我需要迁移,但我不断收到此错误:

“由于以下错误,需要迁移:- 已添加属性 'UserIdCard.idImages'。”

这些是我的课:

这是我的迁移代码:

我所做的与 Realm 提供的示例完全一样:链接

我也试过这个:链接 ,但它不起作用,我试图在“值”字段中传递不同的值但没有任何效果,在领域中迁移列表的正确方法是什么?

谢谢,

0 投票
0 回答
797 浏览

android - Realm for Android 迁移:如何正确添加RealmListField

在以前的 RealmDB 中,我的程序表如下:

和表演者表:

在新版本中,我想将 performers 属性添加到数据库中。所以我像这样实现了迁移:
在 MyApplication 中:

和 OnsMigration 类:

但 program.getPerformers() 仍然为 Null。
如何正确自定义迁移?
谢谢

0 投票
1 回答
1490 浏览

swift - Realm 迁移中的主键更新

在几种情况下,我必须更新一些对象模型,包括我用作主键的属性。

例如 :

  • 合并主键name (例如 Georges、Anna...)familyName (例如 Johnson、Smith...)属性,并使用新合并的name (例如 Georges Johnson...)作为主键。
  • 使identifier主键从类型Int到类型String

但当然,文档明确指出:

将具有主键的对象添加到 Realm 后,主键将无法更改

您始终可以删除旧对象并创建新对象,但这会增加重新创建关系的复杂性。

而且我很确定领域可能对类型更改不满意identifier(从我遇到的抛出异常判断)。

所以我想知道是否有更简单的方法可以做到这一点,或者我是否必须做大量的手动工作才能实现我非常简单的目标。