修改room数据库字段后,需要来升级数据库的版本


一:修改数据库版本号
这边首先查看一下自己之前的版本是多少,比如之前的版本是 1 ,现在修改了字段后,那么就应该 把它修改为2 就是下面的2
@Database(entities = {User.class}, version = 2)
public abstract class UsersDatabase extends RoomDatabase

二.创建Migration,1和2分别代表上一个版本和新的版本
static final Migration MIGRATION_1_2 = new Migration(1, 2) {
@Override
public void migrate(SupportSQLiteDatabase database) {
//此处对于数据库中的所有更新都需要写下面的代码
database.execSQL("ALTER TABLE users "
+ " ADD COLUMN last_update INTEGER"); 为
}
};
//SQL语句看自己修改了什么,假如这边是添加了一个字段,那么应该自己改为下面的
database.execSQL("ALTER TABLE yyy" + " ADD COLUMN xxx CHARACTER");
yyy表名
xxx添加的列名
三.把migration 添加到 Room database builder
database = Room.databaseBuilder(context.getApplicationContext(),
UsersDatabase.class, "Sample.db")
//增加下面这一行
.addMigrations(MIGRATION_1_2)
.build();

【修改room数据库字段后,需要来升级数据库的版本】

    推荐阅读