#java #android #kotlin #realm
#java #Android #kotlin #область
Вопрос:
Я пытаюсь обновить базу данных 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();
}
миграция общедоступной пустоты (область DynamicRealm, длинная старая версия, длинная новая версия) {
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 ;
}
}
Комментарии:
1. Единственным решением, которое я нашел, было удалить файл .realm, а затем создать из него новый. и я использовал флаг, чтобы указать, что это только те, которые были вызваны.