升级已构建数据库的数据库版本

时间:2014-05-16 15:19:29

标签: android sqlite sqliteopenhelper

我有一个数据库存储在我使用SQLite Manager构建的assets文件夹中。现在,当我向数据库的任何表添加新记录时,我必须卸载并重新安装该应用程序。如果不卸载应用程序,我需要以正确的方式升级数据库?

注意:

  • 我的onCreate()onUpgrade()是空的,因为正如我所提到的,数据库已经构建完毕。

  • 我在帮助器构造函数中调用super(context, DB_NAME, null, 1);,但更改版本不会执行任何操作,因为onUpgrade()为空。

1 个答案:

答案 0 :(得分:1)

要允许升级,您必须实施onUpgrade并执行将旧版本转换为新版本所需的任何操作。

如果您在assets文件夹中有新数据库文件,则必须替换旧文件。 这对于SQLiteOpenHelper是不可能的,因为它在调用onUpgrade时有一个活动事务,但是当您实际上没有使用自动创建/版本控制机制时,没有理由使用SQLiteOpenHelper首先。