我更新了我的数据库结构,并将一个DB中包含的数据(让我们称之为DB 1)移到另一个DB的表中(让我们称之为DB 2)。
如何在房间迁移中获得旧DB (DB 1)的实例,以便将数据从DB 1移动到DB 2中创建的新表?
谢谢大家。
发布于 2021-07-19 13:16:24
假设两个数据库都在设备上,则有两个选项:-
您可以使用SQLiteDatabase方法以[openDatabase][1]
的形式打开它,很明显,在完成时可以关闭它。
或者,您可以将旧的附附转换为新的,确保在数据被移动后进行分离。注意到在访问旧的db (附加)时,schema name
的使用是至关重要的。
main_sdb.execSQL("ATTACH DATABASE '" + other_sdb.getPath() + "' AS other");
main_sdb是一个SupportSQliteDatabase实例(传递给迁移),在本例中,所附加数据库的路径是从另一个这样的实例中检索的。架构名为其他https://stackoverflow.com/questions/68440329
复制