GreenDao操作数据库版本升级

来源:互联网 发布:淘宝直通车标记在哪里 编辑:程序博客网 时间:2024/05/01 21:15

老版本数据库升级

(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.复制就可以了;
效果如图:
升级前和升级后

0 0