我们的应用程序具有数据库版本14,并使用了android sqllite帮助器。现在我们要使用room db,并将所有DB内容迁移到room。我们定义了从1_2,2_3 ..到13_14的所有迁移,并为所有这些int构建
.databaseBuilder(
app,
Database::class.java,
"my.db"
).addMigrations(arrayOf(
MIGRATION_1_2,
MIGRATION_2_3,
.....
MIGRATION_10_11,
MIGRATION_11_12,
MIGRATION_12_13,
MIGRATION_13_14
))
.build()
这是正确的做法。如果我安装了数据库版本14的非房间版本的应用程序,并且尝试将其更新为具有相同数据库版本14的应用程序的房间版本,则出现错误:
java.lang.IllegalStateException:房间无法验证数据 诚信。看起来您已经更改了架构,却忘记了更新 版本号。您可以通过增加版本来解决此问题 数字。
答案 0 :(得分:1)
您只需要添加从现有SQLite数据库到Room管理的数据库的迁移。这应该是一个空的“不执行任何操作”迁移。这是必需的,以便Room可以与您现有的数据库很好地配合使用。