问题标签 [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.
android - 使用assetFile() 进行领域迁移
我已按照Realm 网站上的迁移说明进行操作,assetFile()
并在我的 Realm 配置中使用。然而,迁移的领域似乎是空的,因为任何查询都返回零个项目,而它应该返回至少一个。
许多例子assetFile()
要么是旧的,要么是不正确的。谁能提供一个完整的例子来说明如何在 Android Assets 文件夹中使用 .realm 文件,并在首次安装时使用它?
android - 域迁移与新的外国领域
我创建了一个新领域对象 (B),并在现有领域对象 (A) 中创建了一个新字段,它引用了新对象 B。在我的迁移文件中,我有这个:
它不起作用,我得到:java.lang.IllegalArgumentException:领域不支持此字段类型:B
如何在 A 中创建这个新字段,并在我的迁移文件中引用 B?
android - Realm.js 中的查询结果随机带有大写字符串字段
我在Android的React Native项目中使用Realm 1.2.0,并且根据查询限制(使用过滤()函数),我的结果集中的字符串字段全部为大写。
例子:
返回一个包含 (id, name, parentId) 的对象,其中 name 是字符串类型。
根据 ID,所有对象的名称字段都为大写。
我已经检查了表格内容并且数据没有大写,并且在不同表格的其他查询中也会发生同样的行为。
有谁知道如何使结果与表格中的一样?
swift - 当网络连接不可用时,领域使用本地数据库而不是同步?
正如我所见,当没有互联网连接来授权同步领域时(即使之前已成功授权),我的领域确实会回落到本地领域。如果本地领域有同步领域的任何信息副本,那可能会很好,但它没有。因此,同步领域仅适用于互联网连接,或者即使设备离线也有办法使其保持活动状态?
java - RealmMigration 删除了我领域中的所有数据
今天我改变了我的应用领域架构,所以我实现了一个迁移。在迁移中,我只需要添加一个字段,所以我做了:
但这抹去了我领域中的一切,我没有更多的数据。
这不是问题,因为我仍处于开发阶段。我做了迁移而不是卸载/重新安装应用程序只是为了学习如何实现 RealmMigration。
我做错什么了吗?我把所有东西都抹掉了正常吗?我需要添加更多代码吗?我已经阅读了文档并查看了示例应用程序。提供的代码没有更多内容。
领域配置:
至少:
编辑:
我通过删除. name("myRealm.realm")
在第一次安装时,我没有使用 aRealmConfiguration
所以领域的名称是:“default.realm”。谢谢大家的支持和回答!
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
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 会自动检测新属性和移除的属性 // 并且会自动更新磁盘上的模式 }
android - Realm for Android 迁移:如何正确添加RealmListField
在以前的 RealmDB 中,我的程序表如下:
和表演者表:
在新版本中,我想将 performers 属性添加到数据库中。所以我像这样实现了迁移:
在 MyApplication 中:
和 OnsMigration 类:
但 program.getPerformers() 仍然为 Null。
如何正确自定义迁移?
谢谢
swift - Realm 迁移中的主键更新
在几种情况下,我必须更新一些对象模型,包括我用作主键的属性。
例如 :
- 合并主键
name
(例如 Georges、Anna...)和familyName
(例如 Johnson、Smith...)属性,并使用新合并的name
(例如 Georges Johnson...)作为主键。 - 使
identifier
主键从类型Int
到类型String
但当然,文档明确指出:
将具有主键的对象添加到 Realm 后,主键将无法更改
您始终可以删除旧对象并创建新对象,但这会增加重新创建关系的复杂性。
而且我很确定领域可能对类型更改不满意identifier
(从我遇到的抛出异常判断)。
所以我想知道是否有更简单的方法可以做到这一点,或者我是否必须做大量的手动工作才能实现我非常简单的目标。