我有一种情况,我希望能够使用 Android Room 对我的数据库进行硬重置。使用SQLiteOpenHelper
,我可以通过编写一个方法来删除所有表和索引,然后手动调用SQLiteOpenHelper.onCreate()
.
我知道我可以进入一个SupportSQLiteOpenHelper
通过房间并自己放下所有桌子,但似乎没有一个很好的方法来开始娱乐过程。
另外,我知道我可以删除每个表中的每个项目而不删除它,但这不是我想要的。这不会重置自动递增的主键,因此新项目的“id”字段不会重置回 1。
谢谢!
编辑:
这是我希望能够在运行时任意做的事情。
编辑 2:
该方法应该是可维护的,即不涉及与 Room 行为匹配的手写 SQL。理想情况下,应该有某种方法可以检索Room 生成的 SQL,或者SQLiteOpenHelper.onCreate()
等效的方法。或任何其他解决此问题的方法!:)