GreenDao操作数据库版本升级

本文详细介绍了如何通过GreenDao进行数据库升级操作,包括字段添加、版本号更新及自定义升级逻辑等步骤。针对不同版本提供了具体的实现代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

老版本数据库升级

(GreenDao升级如果直接修改 版本号和字段就升级,则之前数据库的数据会清空)
1.在MyDaoGenerator的User类中插入“haha”的属性

        box.addStringProperty("haha");
 Entity box = schema.addEntity("User");
        box.addIdProperty();
        box.addStringProperty("name");
        box.addIntProperty("age");
        box.addStringProperty("sheng");
        box.addStringProperty("count");
        box.addStringProperty("woai");
        box.addStringProperty("haha");

2.在上一篇的自定义的CustomDe类中执行以下代码,判断一下是否是需要升级的数据库版本(老版本号):

 @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
      switch (oldVersion){
          case 5:
          //是老版本的话,插入需要的字段
              Log.d("自定义打印说明", "onUpgrade(): " + "5");
              db.execSQL("ALTER TABLE USER ADD \"HAHA\" TEXT");
              break;
      }
    }

3.找到Gradle下的MyDaoGenerator–application–run以下创建的新表字段就成功了,只需要加入新的值就可以了;

3.0之后的升级

与之前的升级一样,
1.在定义的User类中;

@Property
    private int age;

2.升级版本号,
3.找到升级onUpgrade的方法,判断并插入相应的字段;
4.builde–Make Project 更新原有表,增添字段
5.复制就可以了;
效果如图:
升级前和升级后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值