项目中数据库(GreenDao)升级 ---解决数据丢失问题

本文介绍了在Android开发中使用GreenDao进行数据库升级时如何避免数据丢失的问题。主要步骤包括在build.gradle中增加数据库版本号,并在数据库管理类中自定义OpenHelper以确保数据迁移的正确性。
摘要由CSDN通过智能技术生成

在开发中一直会遇到关于数据库升级相关问题,在此记录一下。

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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值