修改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();

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值