将MySQL模式导入Xcode作为核心数据数据模型

时间:2010-10-13 14:39:54

标签: mysql xcode sqlite core-data migration

我有一个现有的MySQL数据库,我想将模式导入Xcode并创建一个Core Data数据模型。

是否有方法(工具,流程)导入CREATE语句,因此我不必“手动”构建模型?

作为中间步骤,我可以转换为SQLite,我不担心关系,外键等只是自动生成Entities(表)和Properties(列)。

2 个答案:

答案 0 :(得分:2)

实际上我也非常需要这个功能,所以我决定制作一个OSX实用程序。 但是 ...然后我在Mac Appstore中找到了一个实用工具(部分)解决了这个问题(它有一段时间免费,我不知道它的当前状态)。它被称为 JSONModeler ,它的作用是解析一个json树并自动生成coredata模型和所有派生的NSManagedObject子类。所以典型的工作流程是:

  1. 将表格从MySQL导出到xml
  2. 将xml转换为json
  3. 使用该json提供实用程序并获取您的coredata模型
  4. 现在,对于更复杂的场景(关系等),我猜你必须调整你的xml,以便它反映一个有效的对象树。然后JSONModeler将能够重新创建该树并将其导出为coredata。

答案 1 :(得分:0)

这里的问题是实体不是表,属性不是列。核心数据是对象图管理系统,而不是数据库系统。差异很微妙但很重要。核心数据实际上与SQL无关,它只是有时使用SQL作为其持久性选项。

核心数据确实使用专有的sqlite架构,原则上你可以复制它,但我不知道除了非常简单的SQL数据库以外,还有哪些人以健壮的方式取得了成功。即使他们这样做,也需要做很多工作。此外,这样做是不受支持的,并且架构可能会破坏某些地方。

最简单,最强大的解决方案是编写一个实用程序应用程序来读入现有数据库并随时创建对象图。您只需要运行一次,无论如何都必须创建数据模型,因此不需要花费太多时间。