2015-10-28 9 views
3

Я реализовал базу данных в области Android iOS. Я не уверен, что они такие же, но если я заменяю файл с iOS и получаю экземпляр Realm с помощью этого файла, я получаю RealmMigrationNeededException. Есть ли способ сравнить схемы в реальных файлах с Android и iOS? Если я делаю то же действие с файлом с другого устройства Android, он работает.Как сравнить схемы Realm от Android и iOS realm file

Edit:

После добавления пустой миграции:

public class Migration implements RealmMigration { 

    @Override 
    public long execute(Realm realm, long version) { 
     return version; 
    } 
} 

я получаю: "Первичный ключ не определен для поля 'ID' в существующий файл Realm Добавить @PrimaryKey." Обе платформы имеют поле «id», реализованное как первичный ключ.

ответ

1

К сожалению, пока не выходит инструмент, который может выводить всю схему. Вы можете использовать наш браузер Realm для IOS, который покажет вам некоторые из них, но если я правильно помню, он не покажет вам, какие индексы проиндексированы: https://itunes.apple.com/us/app/realm-browser/id1007457278?mt=12

Исключение миграции должно дать вам представление о том, что не так, хотя ?

+0

В сообщении об ошибке, которое я получаю: RealmMigration должен быть предоставлен. Я использовал «Save Model Definition» и экспортировал оба (iOS и Android) в Java, затем сравниваю это с помощью FileMerger, и я получаю 0 различий. –

+0

Возможно, было бы лучше, если бы вы отправили оба файла в [email protected] вместе с вашими файлами модели, тогда мы можем посмотреть на них, чтобы выяснить, что не так. –

+0

Я добавил пустую миграцию в конфигурацию, и я получаю сообщение: «Первичный ключ, не определенный для идентификатора поля» в существующем файле Realm. Добавить @PrimaryKey. " Мы добавили первичный ключ для поля «id» на обеих платформах. –

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