Есть ли способы сбросить версию библиотеки комнаты до 1. Я попытался удалить приложение на своем телефоне. Это не работает.
Постоянная библиотека комнаты сбрасывает версию до 1
Ответы (3)
Понижение версий с помощью Room работает только в том случае, если вы полностью удалите приложение.
Вы можете сделать это либо через adb (adb uninstall your.app.package), который также удалит ваши базы данных, либо вы удалите данные/кеш в обзоре приложения с помощью своего устройства.
На самом деле есть более быстрый способ, если вы согласны с потерей данных. Но я думаю, что приведенный выше вариант не лучше в этом смысле.
Когда вы создаете свою базу данных, вы должны установить .fallbackToDestructiveMigration()
, как в следующем примере.
database = Room
.databaseBuilder(getApplicationContext(), ActionsDatabase.class, "database.db")
.allowMainThreadQueries()
.fallbackToDestructiveMigration()
.build();
Таким образом, каждый раз, когда вы меняете версию базы данных, база данных перестраивается. Вы также можете изменить номер своей версии вперед и назад, например, переходя от 1 к 2 и обратно к 1, если хотите.
Я нашел простое решение: сбросить базу данных комнаты до версии 1.
В моем приложении у меня будет sqlite-файл Test.db, который я изначально создал с помощью браузера SQL ite.
Когда мне нужно сбросить базу данных комнаты до версии 1, я создам файл новой базы данных (Test.db) в браузере SQL ite, внеся все необходимые изменения. И вставьте файл базы данных в папку Asset. Сохранение версии 1.
Это сработало для меня.