iOS中的Sqlite数据库修改和应用程序更新

iOS中的Sqlite数据库修改和应用程序更新,ios,sqlite,app-store,updates,Ios,Sqlite,App Store,Updates,我正在iOS应用程序中使用sqlite数据库。我把它的所有表定义都放在一个.sqlite文件中,我把它放在Xcode项目的“支持文件”组中,在代码中我将这个文件复制到“文档”中,以便能够执行数据库操作。在开发过程中,我发现,当我需要添加/删除一个表或更改其字段,并从“支持文件”中删除.sqlite文件以添加新的表时,我需要从设备或模拟器中卸载应用程序,然后重新构建以获取新的数据库 如何通过替换.sqlite文件来更改数据库表,而不必卸载应用程序?当应用程序将提交到应用商店时,当数据库中有更改的新

我正在iOS应用程序中使用
sqlite
数据库。我把它的所有表定义都放在一个
.sqlite
文件中,我把它放在Xcode项目的“支持文件”组中,在代码中我将这个文件复制到“文档”中,以便能够执行数据库操作。在开发过程中,我发现,当我需要添加/删除一个表或更改其字段,并从“支持文件”中删除
.sqlite
文件以添加新的表时,我需要从设备或模拟器中卸载应用程序,然后重新构建以获取新的数据库

如何通过替换
.sqlite
文件来更改数据库表,而不必卸载应用程序?当应用程序将提交到应用商店时,当数据库中有更改的新更新可用时,用户是否必须重新安装应用程序

编辑。是否可以替换数据库并保留/复制用户在旧数据库中的数据?或者,当用户从替换了
.sqlite
数据库的商店下载应用程序更新时,是否会丢失所有存储的数据,就好像他是从头开始安装应用程序一样

我从未向应用商店提交过应用程序,如果在
.sqlite
文件中有这样的数据库时需要更改数据库表,我需要一些关于如何处理应用程序更新的指导原则。我没有使用核心数据


谢谢,您需要通过编程方式修改数据库。也就是说,若要在数据库中创建/添加新表,则需要添加类似CREATETABLE….的代码。。。。在这种情况下,您不能在代码中使用预定义数据库

但如果您想使用数据库而不是编写代码,则需要重命名数据库,并以编程方式将所有旧数据库数据复制到新数据库


谢谢

我需要使用
.sqlite
文件,所以。。。你的意思是,我必须将新的并重命名的
.sqlite
文件复制到文档中,然后复制旧数据库中的数据?这不会覆盖表吗?我该怎么做呢?我的意思是,需要使用另一个名称的新数据库,然后从新数据库复制旧数据库。由于复制字段/记录取决于您的需要,您可以逐个复制或将数据库附加在一起,然后只需启动复制语句。。。。。