我有一个正常的预填充数据库.我想将其迁移到我的应用程序的核心数据.实现这一目标的最佳方法是什么?顺便说一句,我做了这些事情,从apple的sample.exported表sql复制recipes.sqlite数据库.根据核心数据表列重命名列名称(类似于此 – 使用Z_PK的id“主键”).用我的价值观填满了那张桌子.但我无法理解列名Z_ENT和Z_OPT.是否有人知道如何轻松地将预先填充的sqlite3数据库迁移到核心数据.
谢谢
解决方法
不要尝试手动创建Core Data sqlite文件.这是一条失败的道路;每次.
如果您有一个预先存在的sqlite文件,那么使用直接的sqlite工具来访问它,并使用Core Data将其导入Core Data.将数据存储在Core Data堆栈中后,保存该文件,然后使用生成的sqlite文件.
Core Data sqlite文件的内部结构设计为不透明,不应进行逆向工程. Apple不保证文件结构保持不变.自Core Data发布以来,他们已经多次改变了它.
进口
要进行导入,它就像任何其他文件一样:
>你站起来核心数据堆栈.>您遍历每个表和非Core Data数据库中的每一行.>为每行创建一个新的Core Data对象.>将旧行中的数据插入新对象.