代码之家  ›  专栏  ›  技术社区  ›  Alex

如何在应用程序的版本更新时维护iPhone上SQLite数据库中的数据?

  •  10
  • Alex  · 技术社区  · 14 年前

    我在iPhone应用程序的第一个版本(appstore上)中有一个SQLite数据库。现在我想推出该应用程序的第二个版本,其中还包含一个SQLite db。

    我知道在更新之后,SQLite数据库被删除,然后新的数据库被添加。我不希望发生这种情况,因为该数据库保存了用户保存的一些信息。如果在更新时删除它就不好了。

    问题是,如何将旧SQLite(旧版本)数据库中的数据传输到新数据库中?我如何测试应用商店的版本更新过程?

    任何帮助都将不胜感激。谢谢。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Brian    14 年前

    答案是:从一开始就在应用程序中实现版本控制:-)

    在这种情况下,您可以将没有版本信息的应用程序视为版本1。我要做的是将数据库的版本存储在某个地方(可能在数据库本身内部)。打开数据库后,根据应用程序所需的版本检查其版本,然后根据需要更改任何架构并更新存储的版本号。

    如果您没有将数据库复制到应用程序的Documents目录,那么这一切都没有意义,因为无论如何它都是只读的。否则,文档目录的内容将在更新之间保留。

    要测试更新,只需在您的设备上从以前版本的新副本开始。然后安装新的(构建和运行就可以了)。你确实保留了旧版本的应用程序,对吗?

        2
  •  2
  •   Community VonC    7 年前

    这不是我亲自测试过的,但据我所知:

    1. 你的第一个问题是 been answered christo16 是对的,假设你的应用已经发布了 没有 将数据库复制到文档中,您可能希望提供一个