将普通的sqlite3数据库迁移到核心数据?

Rah*_*yas 4 migration sqlite core-data ios4

我有一个正常的预填充数据库.我想将其迁移到我的应用程序的核心数据.实现这一目标的最佳方法是什么?顺便说一句,我做了这些事情,从apple的sample.exported表sql复制recipes.sqlite数据库.根据核心数据表列重命名列名称(类似于此 - 使用Z_PK的id"主键").用我的价值观填满了那张桌子.但我无法理解列名Z_ENT和Z_OPT.是否有人知道如何轻松地将预先填充的sqlite3数据库迁移到核心数据.

谢谢

Mar*_*rra 6

不要尝试手动创建Core Data SQLite文件.这是一条失败的道路; 每次.

如果您有一个预先存在的SQLite文件,那么使用直接SQLite工具访问它并使用 Core Data 将其导入Core Data.将数据存储在Core Data堆栈中后,保存该文件,然后使用生成的SQLite文件.

Core Data SQLite文件的内部结构设计为不透明,不应进行逆向工程.Apple不保证文件结构保持不变.自Core Data发布以来,他们已经多次改变了它.

进口

要进行导入,它就像任何其他文件一样:

  1. 你站起来核心数据堆栈.
  2. 您遍历每个表和非Core Data数据库中的每一行.
  3. 为每一行创建一个新的Core Data对象.
  4. 将旧行中的数据插入到新对象中.