1

因此,我有一个相当流行的问题,即在发布应用程序的新版本时更新我的​​核心数据驱动应用程序中的 SQL 数据。

应用程序机制的快速摘要

我有一个控制台应用程序,它使用与我的应用程序相同的 xcdatamodeld 文件,我在其中预填充了 SQL 数据库(sqlite 文件)。然后我在我的应用程序中使用这个文件来预填充数据。

问题是,每次我运行这样的更新(通常是每月)时,文档文件夹都会被保留,应用程序会忽略新数据并显示新数据应该在的空白页面。这显然可以通过删除和重新安装应用程序来解决,但这对于每月需要新内容的用户来说太麻烦了。

到目前为止我尝试过的

- 建议我查看核心数据迁移文档并使用“数据模型版本控制”。这对我不起作用,因为我的问题是实际数据而不是模型。模型保持不变,只是它提供的数据发生了变化。

  • 我尝试每天从 Web 服务加载 JSON 文件,以避免需要更新应用程序本身,但我收到了客户的投诉,称用户想要的主要功能之一是离线访问。特别是对于那些移动互联网接入相当昂贵且不可靠的国家/地区的人。

- 上述原因排除了其他解决方案,如 stackmob 等。

经过阅读和思考,我觉得这可能有效;

编写代码以在应用启动期间检查现有数据库。如果现有数据库与新数据库不同(我计划使用某种数字相关条件,例如版本 no1 < 新版本),那么它将删除现有数据库并使用更新中的新数据库。无需用户在每次发布更新时删除并重新安装应用程序。

在这个阶段,我愿意接受任何其他可以让我预先填充数据库并每月更新数据库而无需担心的想法。(我不介意从头开始重新编写应用程序)。

欢迎任何帮助。[不要让我对 Markdown 的掌握欺骗了你,我是初学者 ;) ]

4

1 回答 1

0

每次更新应用程序时,您都可以更改 sqlite 文件名。

于 2013-07-24T12:50:32.393 回答