首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过将架构重新创建到数据库的特定版本来迁移领域。

通过将架构重新创建到数据库的特定版本来迁移领域。
EN

Stack Overflow用户
提问于 2018-05-17 09:19:46
回答 1查看 65关注 0票数 0

在我的应用程序中的数据库11版本之前,用户没有输入数据。所以我不需要移民。我用的是.deleteRealmIfMigrationNeeded()。从版本11开始,用户可以输入数据。现在我需要使用迁移。在版本11之前,我需要重新创建模式,但同时,从version 11开始,我需要保存用户数据。如何在我的自定义迁移类中这样做?

另外,我的应用程序使用加密。当应用程序启动时,我在服务器上授权应用程序时获得密钥。数据库的名称也是根据这个键形成的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-17 10:24:40

在这种情况下,您需要做的是删除比version 11更旧的领域文件,并根据需要处理迁移。

代码语言:javascript
复制
RealmConfiguration realmConfiguration = new RealmConfiguration.Builder()
                                            .schemaVersion(11)
                                            .migration(new MyMigration())
                                            ./*...*/.build();
Realm.setDefaultConfiguration(realmConfiguration);
DynamicRealm dynamicRealm = DynamicRealm.getInstance(realmConfiguration);
long schemaVersion = dynamicRealm.getVersion();
dynamicRealm.close();
if(schemaVersion < 11) {
    Realm.deleteRealm(realmConfiguration);
}
Realm realm = Realm.getDefaultInstance(); // should work now
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50387769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档