房间持久库将版本重置为 1

Lin*_*àng 6 database android android-room

有什么方法可以将房间库版本重置为 1。我尝试卸载手机上的应用程序。它不工作。

Ema*_*l S 7

仅当您完全删除该应用程序时,才可以使用 Room 降级版本。

您可以通过 adb (adb uninstall your.app.package)执行此操作,这也会删除您的数据库,或者使用您的设备删除应用程序概述中的数据/缓存。


wsc*_*ohl 6

如果您愿意丢失数据,实际上还有一种更快的方法。但我想从这个意义上来说,上述选项并没有更好。

当您构建数据库时,您必须.fallbackToDestructiveMigration()像下面的示例一样进行设置。

database = Room
    .databaseBuilder(getApplicationContext(), ActionsDatabase.class, "database.db")
    .allowMainThreadQueries()
    .fallbackToDestructiveMigration()
    .build();
Run Code Online (Sandbox Code Playgroud)

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