在开发中一直会遇到关于数据库升级相关问题,在此记录一下。
1.在项目中得build.gradle中 提高数据库得版本号
2.在我们数据库相关Manager也就是管理类中,在初始化OpenHelper时,使用我们自定义得openHelper
3.使用大神封装得MySqlLiteOpenHelper 类
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import org.greenrobot.greendao.database.Database;
import io.qudao.imlib.dataDb.tables.CusWorkerTableDao;
import io.qudao.imlib.dataDb.tables.DaoMaster;
import io.qudao.imlib.dataDb.tables.GuesterTableDao;
import io.qudao.imlib.dataDb.tables.IMMessageTableDao;
import io.qudao.imlib.dataDb.tables.IMUserTableDao;
import io.qudao.imlib.dataDb.tables.WorkerTableDao;
public class MySqlLiteOpenHelperextends DaoMaster.DevOpenHelper {
public MySqlLiteOpenHelper(Context context, String name) {
super(context, name);
}
public MySqlLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory) {
super(context, name, factory);
}
@Override
public void onUpgrade(Database db,int oldVersion,int newVersion) {//这里面是我们所有表
MigrationHelper.getInstance().migrate(db, GuesterTableDao.class);
MigrationHelper.getInstance().migrate(db, CusWorkerTableDao.class);