如何在Android中测试数据库迁移?

use*_*184 7 database android

我有一个Android应用程序,其数据库版本为1.

现在我想改变数据库的结构并编写所有的迁移代码等.

我遇到的问题是如何测试这个.

我需要反复使用旧版本的旧版本应用程序,以便我可以使用新数据库多次测试新应用程序的更新过程.

我想简化我制作项目副本的事情,然后重新命名 - 将清单和所有内容保持不变!!!!

我的想法是使用Eclipse使用旧的DB结构运行/安装旧版本的应用程序,这样我就可以创建更新的开始情况.

现在模拟用户对新应用程序版本的更新我再次使用Eclipse将其安装在旧版本上 - 但即使没有更改数据库,我也会收到数据库已经存在的错误?

我很困惑(我只更改了项目名称,而不是清单)我原本预计我可以在旧版本上安装新版本,并据此测试应用程序的用户更新.

但这不起作用.

我最好怎么做?(在同一个项目中没有旧的和新的数据库代码.因为如果我有相同的项目,我有两个不同的数据库结构,需要在交换机中构建它应该如何启动,即旧的或新的我觉得用新的数据库结构编写应用程序的新版本比较清晰

For*_*nix 0

由于您只需要数据和结构来测试迁移,因此您可以备份旧数据库并在测试中使用它们。

因此对于每个测试:

  • 安装应用程序,放入数据,进行备份(一次)
  • 恢复备份,运行测试(经常)

这样您只需进行一次备份,并且可以在每次测试时恢复它们。如果您的测试是自动化的,您甚至可以自动恢复备份。

对于 SQLite,制作备份就像复制数据库文件一样简单,但几乎每个数据库都有制作和恢复备份的方法。

您更新的应用程序似乎尝试再次创建数据库(而不是内部的数据),但旧应用程序的数据库仍然存在,因此无法工作。这可能是由于该应用程序没有注意到它之前已经安装过。