前言
在平时的开发时,数据库的升级并不总是按部就班的从 version: 1->2,2->3,3->4。总是会出现 version:1->3,或 2->4 的情况。这时候我们又该怎么办呢?
方法很简单。当用户升级 APP 时,我们替用户升级数据库版本。
具体做法:
version:1->2
static final Migration MIGRATION_1_2 = new Migration(1, 2) {
@Override
public void migrate(SupportSQLiteDatabase database) {
//do something
}
};
version:2->3
static final Migration MIGRATION_2_3 = new Migration(2, 3) {
@Override
public void migrate(SupportSQLiteDatabase database) {
database.execSQL("ALTER TABLE student "
+ " ADD COLUMN phone_num TEXT");
}
};
把migration 添加到 Room database builder:
database = Room.databaseBuilder(context.getApplicationContext(),
Stu