欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

数据库升级

程序员文章站 2022-06-14 20:24:55
...

升级 app 的版本时,我们有时候希望可以把原数据库中的资料也保留下来,那么这个时候我们就需要用到数据库的升级。 在 android 中 SQLiteOpenHelper 中定义了 onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 函数来进行一些对数据库的升级操

升级app的版本时,我们有时候希望可以把原数据库中的资料也保留下来,那么这个时候我们就需要用到数据库的升级。

androidSQLiteOpenHelper中定义了onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)函数来进行一些对数据库的升级操作处理。不需要做一些数据库的操作,在这个函数不需要写任何代码。

在编写数据库升级的时候,我们除了要把数据库的版本号+1以外,还需要在onUpgrade()中写升级数据库所发生的一些变化。比如,数据库升级会发生一些表结构的变化或者是数据的变化。我在这里先说一下,更新表的一些步骤:

1. 先把原表改名,可以任意名字,但是为了方便,我们加temp前缀或者后缀。

2. 然后创建新的表,我们实际要用到升级版本的表。

3. 把原表的数据按照新表的规定,插入到新表中。

4. 把原表删除。

这里会有个小问题,如果原表不需要发生变化要怎么办?那就不需要去动这个表了。参考源码见:https://github.com/arjinmc/UpgradeDatabaseDemo