繁体   English   中英

iPhone应用程序更新(在Sqlite上使用Core Data)

[英]iPhone application update (using Core Data on Sqlite)

我有一个在Sqlite上使用Core Data的应用程序,现在我有一个更新,该更新具有一些数据库结构更改,例如添加一个新表

我知道当应用程序更新时,它仅更新应用程序二进制文件,文档目录上的任何内容都不会更改。

当应用更新并首次启动并运行时

[[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];

它将在Sqlite中发现数据模型和DB结构之间的差异,并将引发异常并退出。

错误:“用于打开商店的模型与用于创建商店的模型不兼容”

因此,在数据库结构发生更改时,这里有人可以给我一些想法如何更新应用程序吗?

我认为我们可以在第一次启动更新时运行数据库脚本来创建该新表。

但是,如果还有其他更改,例如更改某些字段的类型或删除某些字段,并且我们需要迁移旧数据,这确实令人头疼。 在这种情况下,唯一的方法就是创建一个新的应用程序吗?

有没有人尝试过类似的东西?

您需要对数据模型进行版本控制,以处理添加的所有新字段。 苹果对此有详细的文档 如果您只是添加字段,这很容易。 我没有尝试删除字段,但我想它也很简单。 一旦进入不断变化的领域,就会引入一些复杂性,但这并不难。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM