Android мигрирует в комнату нуждается в удалении приложения - PullRequest
0 голосов
/ 30 января 2019

Наше приложение имеет версию 14 БД и использует помощники sqllite для Android.Теперь мы переходим к использованию комнаты db и переносим все содержимое базы данных в комнату.мы определили все миграции с 1_2, 2_3 .. на 13_14 и даем все это в сборке

.databaseBuilder(
                app,
                Database::class.java,
                "my.db"
        ).addMigrations(arrayOf(
        MIGRATION_1_2,
        MIGRATION_2_3,
       .....
        MIGRATION_10_11,
        MIGRATION_11_12,
        MIGRATION_12_13,
        MIGRATION_13_14
))
        .build()

Это правильный способ сделать.Если у меня установлена ​​некоммерческая версия приложения с версией 14 БД, и я пытаюсь обновить ее до комнатной версии приложения с той же версией БД 14, я получаю сообщение об ошибке:

java.lang.IllegalStateException: Комната не может проверить целостность данных.Похоже, вы изменили схему, но забыли обновить номер версии.Вы можете просто исправить это, увеличив номер версии.

1 Ответ

0 голосов
/ 30 января 2019

Вам нужно только добавить миграцию из существующей базы данных SQLite в базу данных под управлением Room.Это должна быть пустая миграция "ничего не делать".Это необходимо для того, чтобы Room хорошо сочетался с существующей базой данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...