考虑到一个iPhone应用程序中的SQLite数据库,其中包含一些“文档”模板。用户还可以添加自己的模板。
我想更新程序和数据库。有没有可能在不覆盖用户数据的情况下完成更新?
我考虑过使用两个不同的数据库,但由于这会增加开销,我想避免这个选项。
如何在不覆盖用户数据的情况下完成这个操作?
我想更新程序和数据库。有没有可能在不覆盖用户数据的情况下完成更新?
我考虑过使用两个不同的数据库,但由于这会增加开销,我想避免这个选项。
如何在不覆盖用户数据的情况下完成这个操作?
如果你正在使用Core Data,那么添加一个新的数据模型(架构)版本并自动进行“迁移”应该相对容易。只需进行一些小的更改,可能需要创建映射模型。如果你的架构发生了重大变化,如实体被重构、添加了抽象级别等,则可能需要子类化NSEntityMigrationPolicy。
你可能想看一下Core Data Model Versioning and Data Migration Programming Guide。
你还可以看一下Marcus Zarra的《Core Data》书和示例代码。
ALTER
脚本。当应用程序首次运行时,它应该:
ALTER
和UPDATE
脚本,将模式和数据从v1升级到v2