在iOS上意外执行迁移后,如何处理Realm Object Server死亡(错误的变更集错误)?

时间:2017-06-19 01:55:15

标签: realm

错误地在同步域上执行破坏性迁移,我刚刚学会了根据文档的声明我不应该做的“但是,如果迁移进行了破坏性更改,那么Realm将停止同步ROS,产生错误的变更集收到错误“。服务器不会重新启动Realm Object Server,日志会显示realm-object-server dead but pid file exists。我们现在甚至无法在网络上访问ROS。

如果没有重新安装我们的领域实例,有没有办法解决这个问题?此外,如果此迁移的严重程度如此严重,是否有办法向开发人员发出警告?

代码示例:

let config = Realm.Configuration( syncConfiguration: SyncConfiguration(user: curUser, realmURL: RealmURL.userObjects), migrationBlock: { (migration, schema) in // todo })

1 个答案:

答案 0 :(得分:0)

执行架构更改时,会导致操作附加到由Realm维护的操作日志中。这首先发生在同步Realm的客户端副本上,然后同步到Realm Object Server。如果操作是破坏性更改,则服务器应该简单地拒绝操作并返回错误。结果是服务器的操作日志不受影响,但客户端现在处于无法继续与服务器同步的状态。在这种情况下,解决方案是重置客户端,这是最容易开发的,删除并重新安装应用程序。

然而,你的情况听起来像是一个不同的问题。服务器没有响应的事实意味着其他问题出了问题。您可以尝试删除并重新安装服务器,因为这不会删除数据或配置。