如何解决无法在android中更新我的Realm数据库
我正在尝试在当前应用程序中更新Realm数据库。 但是每次我运行该应用程序时,它都会不断告诉我要迁移日期基准。
我尝试了迁移和.deleteRealmIfMigrationNeeded()非接缝的工作。
保持相同的错误 由于以下错误,需要迁移:
- 已添加类“ NaturAbout”。
- 已添加“ NaturMap”类。
- 已添加“ NaturMenu”类。
- 已添加属性“ NaturEverything.map”。
- 已添加属性“ NaturEverything.menu”。
- 已添加属性“ NaturEverything.about”。
受保护的布尔值doInBackground(Void ... params){
RealmConfiguration realmConfiguration = new RealmConfiguration.Builder()
.schemaVersion(1)
.migration(new MyMigration())
.deleteRealmIfMigrationNeeded()
.build();
Realm realm;
realm = Realm.getInstance(realmConfiguration);
realm.beginTransaction();
realm.deleteAll();
realm.commitTransaction();
}
public void migration(DynamicRealm领域,long oldVersion,long newVersion){
RealmSchema schema = realm.getSchema();
if (oldVersion == 0) {
schema.get("NaturEverything")
.addField("map",NaturMap.class)
.addField("menu",NaturMenu.class)
.addField("about",NaturAbout.class);
schema.create("NaturAbout")
.addField("id",int.class)
.addField("header",NaturLocalizedString.class)
.addField("excerpt",NaturLocalizedString.class)
.addField("description",NaturLocalizedString.class)
.addField("image",NaturLocalizedString.class);
schema.create("NaturMap")
.addField("id",int.class)
.addField("zoom",int.class)
.addField("lat",int.class)
.addField("lng",int.class);
schema.create("NaturMenu")
.addField("id",int.class)
.addField("about",NaturLocalizedString.class)
.addField("map",NaturLocalizedString.class)
.addField("routes",NaturLocalizedString.class);
oldVersion++;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。