升级apk自带的db
问题来源
有时候在开发app的时候,要在/assets下放一个sqlite的db文件.当版本升级的时候我们需要更新里边的数据.笔者使用了sqliteassethelper和 greendao 进行数据库管理和升级.
升级步骤
- 增加db文件中的userversion
pragma user_version=5
(根据自己设定的规则选一个新的version). - 对应的改变build.gradle里边的userversion.
这是greendao需要的配置项. - 写出升级的sql并按照sqliteassethelper的要求创建相应的sql文件.
- 在db中执行升级sql.
- 对应的helper里边也要改一下
public class WordDatabase extends SQLiteAssetHelper {
private static final int DATABASE_VERSION = 4;done~!
这样,在老用户升级的时候,升级sql就会自动执行.新用户则会直接将最新的db拷贝到相应目录.