公司项目需要用到数据库,应是要对应着公司pc项目,所以db文件是先建好的,再从assets文件导进去。
代码如下
一开始创建时是能正常的运行,但有需求要更新数据库表是就发现了问题。
发现在数据库中数据迁移函数执行不了
经过查询,发现是在assets文件中的db文件
PRAGMA user_version; 输出是等于0的
执行 PRAGMA user_version; 并发现返回的版本号为 0 时,表示你的预打包数据库 tcpipelinedetect.db 并没有设置 user_version,这意味着 Room 认为这是一个没有版本控制的数据库。
所以要将这个db文件设置
“PRAGMA user_version=1;”
这个指令,在重新放入程序中就好了