在我的应用程序中,我正在使用带有预填充数据库的 Room,myDatabase.db
然后使用以下代码访问该数据库:
private val database = Room
.databaseBuilder(context.applicationContext, AppDatabase::class.java, dbName)
.createFromAsset("myDatabase.db")
.build()
该文件myDatabase.db
存储在 /assets/ 文件夹中。然后我不得不在这样的数据库中的表上添加一些新行。之后,我得到了一个更新的myDatabase.db
文件,我将它复制到 /assets/ 文件夹中替换了旧文件。问题来了:安装应用程序后,它仍然使用旧数据。我做了一些搜索,但只找到了与迁移相关的结果。但是,就我而言,表的架构没有变化,只是添加了一些新行。此外,我不明白为什么该应用程序不选择新myDatabase.db
文件并仍然使用旧文件。
让应用程序使用新文件的唯一解决方案myDatabase.db
是卸载应用程序,然后重新安装,但这是我想避免的。那么,如何更改myDatabase.db
assets 文件夹中的文件并让应用程序通过 Room 选择新文件中的数据?