iphone应用程序中预加载的sqlite数据库的迁移选项

时间:2011-12-07 22:03:16

标签: iphone sqlite core-data migration

我的应用程序使用带有coredata绑定的预加载SQLLite数据库。我使用具有核心数据绑定/模型等的辅助应用程序创建预加载的数据库文件。我将预加载的数据库放入我的应用程序的资源文件夹中,并在首次运行应用程序时将其复制到可写文档文件夹。

我的问题是关于迁移。自从我的应用程序发布以来,我的用户一直在创建数据,在我的下一个版本中,我想要更改数据模型并将一些数据迁移到新模型。我只是不确定这样做的最好方法。我已经阅读了关于核心数据迁移方法的内容,但它们似乎要求我的应用程序是一个核心数据项目,但它不是(虽然我的辅助数据库创建应用程序是)。我是否必须通过针对数据库发出直接SQL语句来手动执行此迁移?那么核心数据绑定呢,我必须手动更新它们吗?

我真的只是寻找正确/最佳方向的指针。有什么建议?提前谢谢!

1 个答案:

答案 0 :(得分:0)

SQLLite实际上没有像Core Data这样的数据迁移工具。除非你算“ALTER TABLE”。如果迁移非常复杂,或者您认为将来会有更复杂的迁移,您可以创建一个或多或少与旧SQLite模型对齐并导入到其中的Core Data模型,然后迁移到更新的Core Data模型,然后坚持下去。

这可能比ALTER TABLE慢,或者至少“不快”。