错误地在同步域上执行破坏性迁移,我刚刚学会了根据文档的声明我不应该做的“但是,如果迁移进行了破坏性更改,那么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
})
答案 0 :(得分:0)
执行架构更改时,会导致操作附加到由Realm维护的操作日志中。这首先发生在同步Realm的客户端副本上,然后同步到Realm Object Server。如果操作是破坏性更改,则服务器应该简单地拒绝操作并返回错误。结果是服务器的操作日志不受影响,但客户端现在处于无法继续与服务器同步的状态。在这种情况下,解决方案是重置客户端,这是最容易开发的,删除并重新安装应用程序。
然而,你的情况听起来像是一个不同的问题。服务器没有响应的事实意味着其他问题出了问题。您可以尝试删除并重新安装服务器,因为这不会删除数据或配置。