如何在版本升级时将记录/对象添加到我的Sqlite DB

时间:2011-02-21 22:08:53

标签: iphone sqlite versioning

我对版本控制和数据库迁移非常满意。我只是有一个运行轨迹的数据库,我定期添加信息(更多的路径)。我想在版本升级上发布这些新的路径,以便用户可以拥有一个不断增长的路径列表来运行。例如,我每月向应用程序添加10条路径,购买应用程序的用户在下载新版本时需要获取。

我想知道如何最好地做到这一点,并且无法在任何地方找到它的参考。您是否应该在例如ApplicationdidfinishLaunching方法中硬编码添加新信息,或者是否有比较数据库的方法或者不必依赖可能导致错误的数据的硬编码。

我可以要求用户删除他们的手机应用程序并重新安装新的应用程序,但这很麻烦,微软会做的事情。

提前感谢您的帮助。

杨柳

1 个答案:

答案 0 :(得分:0)

AFAIK这种任务无法实现自动化。我这样做(在applicationDidFinishLaunching中):

  • 比较用户默认值
  • 的lastAppVersion值
  • 如果未设置或lastAppVersion ==当前应用程序版本,则不执行任何操作
  • 如果lastAppVersion!=当前应用程序版本,则将数据从lastAppVersion迁移到当前应用程序版本
  • 将当前应用程序版本存储到lastAppVersion(用户默认值)

如果任务没有自动化,它可以帮助我在更新中做一些事情。

如果需要更长时间,我会在自定义初始屏幕视图控制器中执行此操作,以便让用户了解正在发生的事情,或者至少显示一些进度条。