我目前在iTunes应用商店中有一个iPhone应用程序,它使用SQLite数据库作为数据存储。用户可以将应用程序与Web服务同步,返回的数据会被存储在SQLite数据库中。用户还可以将新项目插入到数据库中,并将其更改同步回Web服务。
当连接打开到应用程序的本地数据库时,代码将检查确认数据库文件是否存在于“文档”文件夹中,如果不存在,则通过将其从“资源”文件夹复制到“文档”文件夹中来创建数据库。
我必须发布应用程序的更新版本。更新包含数据库模式更改(新表格、列等)。根据我所读到的,位于“文档”目录中的文件将在应用程序更新时保留,这意味着更新后现有数据库仍将完整保留。
我的问题是,如何用更新的数据库替换现有数据库,并且有没有一种方法可以在不丢失现有数据库中的数据的情况下进行替换?有没有某种“更新后首次运行”事件可用于执行数据库更新,或者我必须对现有数据库进行某种检查(寻找新列或表),并在我的检查失败时手动替换/更新数据库?
谢谢!