Android 文件室无法验证数据完整性,但我已启用了构造性迁移

Android 文件室无法验证数据完整性,但我已启用了构造性迁移,android,android-sqlite,android-room,Android,Android Sqlite,Android Room,我从RoomIllegalStateException收到一个错误,跟踪显示“Room无法验证数据完整性”,因为我将db值从不可为null更改为可为null,但我的db设置如下所示: @JvmStatic @Provides @ApplicationScope fun provideRoomDatabase(context: Application): MyDb = Room.databaseBuilder( context, MyDb::class.java, DB_NAME

我从
Room
IllegalStateException
收到一个错误,跟踪显示“Room无法验证数据完整性”,因为我将db值从不可为null更改为可为null,但我的db设置如下所示:

@JvmStatic
@Provides
@ApplicationScope
fun provideRoomDatabase(context: Application): MyDb = Room.databaseBuilder(
    context,
    MyDb::class.java, DB_NAME
).fallbackToDestructiveMigration().build()

这有什么问题吗

更改后是否增加了数据库版本?因为它确实会重新创建数据库,但有时它仍然使用旧的模式,所以通过增加版本,您可以修复异常。你也可以在这里的文档中查看

更新数据库的架构后,一些设备上的数据库可能仍然使用较旧的架构版本。如果Room无法找到将该设备的数据库从旧版本升级到当前版本的迁移规则,则会发生IllegalStateException


更改后是否增加了数据库版本?是否必须?由于
fallingBackToDestructiveMigration()
为我重新创建了db?确实如此,但如文档中所述,有时它仍然使用旧模式,因此通过增加版本,您可以修复您的异常您可以回答此问题并确认并关闭。非常感谢。