【发布时间】:2019-09-12 05:12:30
【问题描述】:
我在现有数据库中添加了一些新的实体(表)。所以在数据库配置中配置了那些-
@Database(entities = {existingTable1.class, existingTable2.class, existingTable3.class, existingTable4.class,
newTable1.class, newTable2.class
}, version = 1, exportSchema = false)
由于该应用程序处于开发阶段,我曾经避免迁移。所以我从设备上卸载了应用程序并通过 Android Studio (Run) 安装。但是它给出了以下错误-
Room 无法验证数据完整性。看起来你变了 架构但忘记更新版本号。你可以简单地修复 这可以通过增加版本号来实现。
在我的清单中,allowBackup 设置为 false,如下所示-
android:allowBackup="false"
已编辑
我要提一件事。我在资产文件夹中有一个 sqlite 数据库文件。我只是在安装时将其复制到相应的 app DB 文件夹中。因此,当需要添加包含大量预填充数据的新表时,我只需更新资产文件夹中的 sqlite 数据库文件,然后调整相关实体并构建/运行项目。这样,它工作正常,但这次它产生了这个问题。
【问题讨论】:
-
在设置
android:allowBackup="false"后你是否至少运行过一次? -
确保清除数据和缓存
-
@ManoharReddy,是的。但是从设备安装后,为什么需要这种迁移:O
-
@Sadat 打开应用设置,手动清除数据并检查一次。
-
@ManoharReddy,哪个“应用程序设置”?你能具体说明吗?
标签: android android-room data-integrity