【问题标题】:Migrate normal sqlite3 database to core data?将普通 sqlite3 数据库迁移到核心数据?
【发布时间】:2015-07-06 23:20:23
【问题描述】:

我有一个正常的预填充数据库。我想将它迁移到我的应用程序的核心数据。实现这一目标的最佳方法是什么。顺便说一句,我已经完成了这些事情,从苹果的示例中复制了 recipes.sqlite 数据库。导出了一个表 sql。根据核心数据表列重命名列名(类似这样 - id "primary key" with Z_PK)。用我的价值观填满那张桌子。但我无法理解列名 Z_ENT 和 Z_OPT。有人知道我如何轻松地将预填充的 sqlite3 数据库迁移到核心数据。

谢谢

【问题讨论】:

    标签: core-data migration sqlite ios4


    【解决方案1】:

    不要尝试手动创建 Core Data SQLite 文件。那是一条失败之路;每次。

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

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

    导入

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

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

    【讨论】:

    • 能告诉我步骤吗?
    • 核心数据的Z_OPT列呢?
    • 你不应该在意。核心数据文件的内部是一个实现细节。仅使用 Core Data 来接触 SQLite 文件。
    • 我想使用预填充的数据。我也可以像在 sqlite 中那样使用插入、更新吗?
    • 你可以做任何 Core Data 可以做的事情,包括更新、插入和删除数据。我建议您多了解一下 Core Data,以便更好地了解它是什么以及它是如何工作的。
    【解决方案2】:

    尝试使用以下工具将标准 SQLite 迁移到 Core Data Compatible Sqlite

    https://github.com/tapasya/Sqlite2CoreData

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-22
      • 2011-09-14
      • 2017-07-07
      • 2022-01-18
      • 1970-01-01
      • 2016-12-16
      相关资源
      最近更新 更多