覆盖Realm数据库中的架构版本

时间:2016-04-15 19:11:22

标签: java realm

有没有办法使用RealmBrowser或在代码中覆盖Realm数据库的版本,如果我因为迁移而发现我处于复杂的状态?

我需要删除一个包含旧架构的表,不知道如何执行此操作

我尝试强制number上的先前版本编写自定义一次性迁移块来解决问题,但Realm在开始时抱怨。有没有办法强制Realm打开数据库,所以我解决了迁移?

1 个答案:

答案 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();