2016-01-20 6 views
1

Я использовал базу данных realm (iOS и Android). Он хорошо справился и сейчас, и миграция. При миграции я мог бы добавить таблицу и дополнительные столбцы в обновленную схему. Кстати, я понятия не имею, способен ли я извлечь предыдущие данные таблицы и перейти к новой таблице схем. Пожалуйста, дайте мне знать об этом.Получение данных db при миграции области

+0

API миграции Realm Java изменен в версии 0.86.0. Какую версию королевства вы используете? – zaki50

ответ

0

Вы могли бы сделать что-то вроде этого:

RealmSchema schema = realm.getSchema(); 

schema.get("OldTableName").renameField("OldFieldName", "NewFieldName"); 

schema.rename("OldTableName", "NewTableName"); 
1

Просто, чтобы подтвердить, вы успешно удалось выполнить миграцию схемы с Realm на обеих версиях IOS и Android вашего приложения, но ваш вопрос, является ли вы можете извлечь данные из таблицы в старой версии схемы и перенести ее в новую таблицу в своей последней версии схемы. Это верно?

Если это правильно, то да. Во время выполнения миграции вы можете запустить цикл внутри вашего объекта MigrationBlock block/RealmMigration, чтобы вручную скопировать данные из старой таблицы в новую.

Примеры этой логики можно найти в образце кода как хранилищ iOS, так и Java на учетной записи Realm's GitHub.

К сожалению, после того, как миграция завершена в файле Realm, а предыдущая таблица была удалена, невозможно выполнить обратную запись и извлечь данные позднее.

Смежные вопросы