首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Android中升级数据库

在Android中升级数据库
EN

Stack Overflow用户
提问于 2015-02-24 18:48:43
回答 2查看 78关注 0票数 2

我知道升级方法是如何工作的,但在某些方面我感到困惑:

1)开始时,我的数据库版本是1,我的应用程序版本是1。

2)现在我把我的DB版本升级到了2,我的应用版本是2。

3)我想把DB升级到3,app升级到3。

问:从应用程序版本1升级到应用程序版本3的人会发生什么?他们会把DB升级到2,然后再升级到3吗?或者,我需要为此编写代码吗?我如何维护这样的标志?

EN

回答 2

Stack Overflow用户

发布于 2015-02-24 19:08:17

SQLiteOpenHelper.onUpgrade将照常被调用,处理这个问题的最简单方法是让您的升级代码逐步处理每个版本;从版本1、-> 2、-> 3等等。例如:

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { if (oldVersion == 1) { // upgrade db to version 2 oldVersion = 2; } if (oldVersion == 2) { // upgrade db to version 3 oldVersion = 3; } }

票数 2
EN

Stack Overflow用户

发布于 2015-02-24 19:32:12

通常,当DB是增量升级时,您可以使用优雅的switch

代码语言:javascript
复制
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  switch( oldVersion ){
    case 1:
      migrateFrom1();
    case 2:
      migrateFrom2();
    case 3:
      migrateFrom3();
  }
}

注意,这里没有break语句。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28693750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档