老版本数据库升级
(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.复制就可以了;
效果如图: