提问可能有点早,但有可能以及如何将现有的SQLite数据库应用程序迁移/升级到新的Android Room Persistance Library吗?
答案 0 :(得分:13)
假设您的房间实体与您当前的表格模式匹配,您可以继续使用相同的数据库/表格。
Room管理在创建或升级数据库时初始化的主表,因此您需要增加数据库版本并提供虚拟迁移:
@Database(entities = SomeEntity.class, version = EXISTING_VERSION + 1)
public class MyDatabase extends RoomDatabase {
// ...
}
MyDatabase db = Room.databaseBuilder(context, MyDatabase.class, "db_name")
.addMigrations(new Migration(EXISTING_VERSION, EXISTING_VERSION + 1) {
@Override
public void migrate(SupportSQLiteDatabase database) {
// NOOP
}
}).build();
答案 1 :(得分:0)
对于那些想知道是否有办法从SQLite
迁移到Room
的人,即使您的架构不匹配,答案为 YES ,您可以迁移从SQLite
到房间,即使架构不匹配。
有可能,但是a需要相当仔细的转换。由于该过程需要涉及很多步骤,因此我只提供您可以参考的参考。
A Handbook about Migration from SQL to Room
Incrementally migrate from SQLite to Room
希望对少数人有帮助。