Room persistent library reset version为1

时间:2017-10-01 20:57:22

标签: android database android-room

有没有办法将房间库版本重置为1.我尝试在手机上卸载应用程序。它不起作用。

3 个答案:

答案 0 :(得分:3)

使用Room降级版本只有在您完全删除应用程序时才有效。

您可以通过adb(adb uninstall your.app.package)来删除您的数据库,也可以使用您的设备删除应用概述中的数据/缓存。

答案 1 :(得分:1)

我找到了一种简单的解决方案,可以将Room数据库重置为版本1。

在我的应用程序中,我将有一个Test.db sqlite文件,该文件是我最初使用SQL ite浏览器创建的。

当我需要将会议室数据库重置为版本1时。 我将在SQL ite浏览器中创建一个新的DataBase(Test.db)文件,进行所有需要的更改。并将数据库文件粘贴到Asset文件夹中。保持版本为1。

这对我有用。

答案 2 :(得分:0)

实际上,有一种更快的方法,如果您可以丢失数据。但我想从这个意义上讲,以上选择并不更好。

在构建数据库时,必须像以下示例中那样设置.fallbackToDestructiveMigration()

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

这样,每次您更改数据库版本时,都会重建数据库。您还可以来回更改版本号,如果愿意,可以从1更改为2,然后再更改为1。