Постоянная библиотека комнаты сбрасывает версию до 1

Есть ли способы сбросить версию библиотеки комнаты до 1. Я попытался удалить приложение на своем телефоне. Это не работает.


person Linh Hoàng    schedule 01.10.2017    source источник


Ответы (3)


Понижение версий с помощью Room работает только в том случае, если вы полностью удалите приложение.

Вы можете сделать это либо через adb (adb uninstall your.app.package), который также удалит ваши базы данных, либо вы удалите данные/кеш в обзоре приложения с помощью своего устройства.

person Emanuel S    schedule 01.10.2017

На самом деле есть более быстрый способ, если вы согласны с потерей данных. Но я думаю, что приведенный выше вариант не лучше в этом смысле.

Когда вы создаете свою базу данных, вы должны установить .fallbackToDestructiveMigration(), как в следующем примере.

database = Room
    .databaseBuilder(getApplicationContext(), ActionsDatabase.class, "database.db")
    .allowMainThreadQueries()
    .fallbackToDestructiveMigration()
    .build();

Таким образом, каждый раз, когда вы меняете версию базы данных, база данных перестраивается. Вы также можете изменить номер своей версии вперед и назад, например, переходя от 1 к 2 и обратно к 1, если хотите.

person wschopohl    schedule 29.03.2020

Я нашел простое решение: сбросить базу данных комнаты до версии 1.

В моем приложении у меня будет sqlite-файл Test.db, который я изначально создал с помощью браузера SQL ite.

Когда мне нужно сбросить базу данных комнаты до версии 1, я создам файл новой базы данных (Test.db) в браузере SQL ite, внеся все необходимые изменения. И вставьте файл базы данных в папку Asset. Сохранение версии 1.

Это сработало для меня.

person vinay shetty    schedule 04.06.2020