在一个应用程序上工作,该应用程序遭受了成为一体机的失败,从而削弱了代码维护。
目前的重点是改进应用程序代码的多个方面,其中之一是使应用程序模块化(功能和层的组合)。
这个过程已经完成,但是当用户安装这个新版本时,需要迁移以前版本中的任何现有数据库数据,而我无法找到这方面的指南/文档。
如何将现有的Room数据库数据从一个模块迁移到另一个模块,以便当用户安装这个新版本而不是旧版本时,他们不会丢失现有的信息?
发布于 2022-05-28 03:49:42
默认情况下,数据库存储在一个地方(data/data/<the_package_name>/databases/<the_database_filename>)中,因此模块是不相关的。
所以这只是一个迁移的问题。总之,我建议
在Android的Android (已生成的)中查找与@Database类相同的类,但以classes.
,那么必须在子表throughout
在数据都被复制后,您可以重命名原始表,用户ALTER TABLE RENAME TO another_name
之前必须删除
更安全
https://stackoverflow.com/questions/72412137
复制相似问题