【发布时间】:2019-10-25 12:21:48
【问题描述】:
我从RoomIllegalStateException 收到一条错误消息,显示“房间无法验证数据完整性”,因为我将 db 值从不可为空更改为可空,但我的数据库设置如下:
@JvmStatic
@Provides
@ApplicationScope
fun provideRoomDatabase(context: Application): MyDb = Room.databaseBuilder(
context,
MyDb::class.java, DB_NAME
).fallbackToDestructiveMigration().build()
这可能是什么问题?
【问题讨论】:
-
更改后是否增加了数据库版本?
-
我必须这样做吗?既然
fallingBackToDestructiveMigration()为我重新创建了数据库? -
确实如此,但正如 doc developer.android.com/training/data-storage/room/… 中所述,有时它仍然使用旧模式,因此通过增加版本,您可以修复您的异常
-
您可以回答这个并确认并关闭。谢谢。
标签: android android-sqlite android-room