【发布时间】:2011-06-30 04:28:39
【问题描述】:
考虑以下场景。
我在应用商店中有一个 iPhone 应用,它对 16 列 SQLite3 表执行查询。作为更新,我想在此表中添加一个新列。
当有人安装更新时,它会搞砸吗?桌子会换吗?这是如何运作的。我该如何处理?
【问题讨论】:
-
由于 sqlite 3 不支持添加列,您需要重命名旧表,创建一个包含所有列的新表,包括新表,然后从旧表填充新表,然后最后删除旧表。
-
您是否 100% 确定它不起作用?因为我很确定它确实......
-
它确实有效...我在我的应用程序中安装了一个没有该列的数据库。它添加了一列。它确实有效,因为第二次没有添加它。
-
哦,是的,抱歉,我对我过去的经历感到困惑......事情是由于添加列的某些限制,我遇到了问题,主要是处理新的外键,以及排序列,从那时起,我就一直按照我前面提到的程序进行操作 - 再次抱歉,打扰了。
-
那么在安装应用程序后我的数据库会被完全替换吗?制作应用程序时,我将数据库拖到“框架”文件夹中。我担心它会完全取代旧数据库。