Импортирование схемы MySQL в XCode как Модель данных CoreData - PullRequest
2 голосов
/ 13 октября 2010

У меня есть существующая база данных MySQL, я хотел бы импортировать схему в Xcode и создать модель данных Core Data .

Есть ли способ (инструмент, процесс) импортировать операторы CREATE, чтобы мне не нужно было строить модели "вручную"?

В качестве промежуточного шага, который я мог бы преобразовать в SQLite, я не беспокоюсь о связях, внешних ключах и т. Д., Просто автоматически генерируя Entities (таблицы) и Properties (столбцы).

Ответы [ 2 ]

2 голосов
/ 29 февраля 2012

На самом деле мне так сильно нужна была эта функция, что я решил сделать для этого утилиту OSX. НО ... тогда я нашел утилиту в Mac Appstore, которая (частично) решает эту проблему (она была бесплатной в течение некоторого времени, я не знаю ее текущее состояние). Он называется JSONModeler , и он выполняет синтаксический анализ дерева json и автоматически генерирует модель coredata и все производные подклассы NSManagedObject. Таким образом, типичный рабочий процесс будет:

  1. Экспорт таблиц из MySQL в xml
  2. Преобразование XML в JSON
  3. Накормите утилиту этим json и получите модель coredata

Теперь, для более сложного сценария (отношения и т. Д.), Я думаю, вам нужно настроить xml, чтобы он отражал действительное дерево объектов. Затем JSONModeler сможет воссоздать это дерево и экспортировать его для coredata.

0 голосов
/ 14 октября 2010

Проблема здесь в том, что сущности не являются таблицами, а свойства не являются столбцами. Core Data - это система управления графами объектов, а не система баз данных. Разница тонкая, но важная. Базовые данные на самом деле не имеют ничего общего с SQL, просто иногда использует SQL в качестве одного из вариантов сохранения.

Core Data использует собственную схему sqlite, и, в принципе, вы можете дублировать ее, но я не знаю никого, кто добился успеха надежным образом, за исключением очень простых баз данных SQL. Даже когда они делают, это много работы. Кроме того, это не поддерживается, и схема может где-то сломаться.

Самое простое и надежное решение - написать служебное приложение для чтения в существующей БД и создать граф объектов по ходу дела. Вам нужно только запустить его один раз, и вы все равно должны создать модель данных, чтобы это не занимало много времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...