Синхронизация основных данных с внешней базой данных - PullRequest
2 голосов
/ 28 февраля 2010

Я начал работать над приложением для iPhone, где мне нужно синхронизировать данные с внешней базой данных MySQL. Текущая схема базы данных использует поля GUID / UUID в качестве первичных ключей для поддержания связей между таблицами. У меня уже есть эта работа между приложением базы данных и базой данных MySQL, так что это не вопрос синхронизации, скажем.

Я начал идти по пути использования Core Data, но я понимаю, что он поддерживает отношения между сущностями, используя свою собственную схему в базе данных SQLite.

Я иду по неверному пути, используя Core Data? Если нет, то как можно синхронизировать данные между хранилищем базовых данных и внешней базой данных и при этом поддерживать отношения данных?

Ответы [ 3 ]

3 голосов
/ 01 марта 2010

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

0 голосов
/ 21 мая 2012

и вы всегда можете сохранить исходные идентификаторы GUID в качестве, например, необязательных externalID для импортированных объектов Таким образом, вы сможете легче устранять неполадки при импорте данных и сопоставлять данные между типами хранилищ данных.

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

Я согласен с Гриффо; просто переведите строки или объекты, которые вы извлекаете из базы данных mysql, в управляемые объекты (и наоборот).

Если я правильно понимаю, что вы ищете, я бы определенно рекомендовал использовать данные ядра. Перевод данных между MySQL и Core Data не так сложен, и если вы используете NSFetchedResultsController для отображения ваших данных в UITableView, вам практически не нужно писать никакой код.

...