在Schema Change上进行ORMLite数据备份和恢复

时间:2014-01-01 09:57:25

标签: android sqlite ormlite sqliteopenhelper

我在我的Android应用程序中使用ORMLite作为数据持久性选项。我想确保在重新安装时进行数据备份和恢复。如果我在应用程序逻辑中进行一些更改并重新安装应用程序,数据将保持不变,但我如何处理架构更改,我的新版本的应用程序有一些数据库架构更改我如何处理用户数据导入到更新的架构。请引导我找到可以使用的解决方案。

问候。

1 个答案:

答案 0 :(得分:1)

  

但我如何处理架构更改,我的新版本的应用程序有一些数据库架构更改我如何处理用户数据导入更新的架构

如果我理解这个问题,那不是关于导入,而是关于安装新版本操作系统时的架构更新。 ORMLite实际上有一节关于:

  

http://ormlite.com/docs/upgrade-schema

要引用,您需要覆盖onUpgrade(...)方法并执行以下操作:

abstract void onUpgrade(SQLiteDatabase database,
      ConnectionSource connectionSource, int oldVersion, int newVersion) {
    if (oldVersion < 2) {
      // we added the age column in version 2
      dao.executeRaw("ALTER TABLE `account` ADD COLUMN age INTEGER;");
    }
    if (oldVersion < 3) {
      // we added the weight column in version 3
      dao.executeRaw("ALTER TABLE `account` ADD COLUMN weight INTEGER;");
    }
}

如果我没有收到您的问题,请编辑您的帖子,我会添加更多信息。