有没有办法使用RealmBrowser或在代码中覆盖Realm数据库的版本,如果我因为迁移而发现我处于复杂的状态?
我需要删除一个包含旧架构的表,不知道如何执行此操作
我尝试强制number
上的先前版本编写自定义一次性迁移块来解决问题,但Realm在开始时抱怨。有没有办法强制Realm打开数据库,所以我解决了迁移?
答案 0 :(得分:0)
最安全的肯定是破坏架构版本并修复新版本中的问题。以任何其他方式执行此操作都有可能破坏您的用户应用。
但是,如果需要,您可以使用我们的动态API打开Realm,而不会触发迁移并在那里进行更改:https://realm.io/docs/java/latest/#dynamic-realms
然后以下列方式删除任何类:
DynamicRealm realm = DynamicRealm.getInstance(config);
realm.beginTransaction();
realm.getSchema().remove("TableName");
realm.commitTransaction();
realm.close();