RS_*_*Mob 3 android android-room android-architecture-components
我正在阅读关于Android架构组件的房间,并想知道Room中是否存在与SQLiteOpenHelper中可用的onUpgrade方法等效的内容 -
@Override public void onUpgrade(最终的SQLiteDatabase数据库,final int oldVersion,final int newVersion){}
谢谢,RS.
MJM*_*MJM 11
您可以使用https://developer.android.com/training/data-storage/room/migrating-db-versions.html
Room.databaseBuilder(getApplicationContext(), MyDb.class, "database-name")
.addMigrations(MIGRATION_1_2,MIGRATION_1_3, MIGRATION_2_3).build();
static final Migration MIGRATION_1_2 = new Migration(1, 2) {
@Override
public void migrate(SupportSQLiteDatabase database) {
database.execSQL("CREATE TABLE `Fruit` (`id` INTEGER, "
+ "`name` TEXT, PRIMARY KEY(`id`))");
}
};
static final Migration MIGRATION_2_3 = new Migration(2, 3) {
@Override
public void migrate(SupportSQLiteDatabase database) {
database.execSQL("ALTER TABLE Book "
+ " ADD COLUMN pub_year INTEGER");
}
};
static final Migration MIGRATION_1_3 = new Migration(1, 3) {
@Override
public void migrate(SupportSQLiteDatabase database) {
database.execSQL("ALTER TABLE Book "
+ " ADD COLUMN pub_year INTEGER");
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5990 次 |
| 最近记录: |