2013-03-11 3 views
3

Ситуация:CoreData: несколько Devs, версии и поддерживаемые версии

Мы - несколько разработчиков, работающих с одним и тем же продуктом.

У нас есть версия 1.0 нашей основной модели данных, которая в настоящее время находится в магазине приложений.

Я работаю над функциями для 1.1, и требуют создания новой «версии» модели данных, которые я называю «1,1»

Мой другой разработчик работает над функциями для 2.0 приложения, которое является год. Он требует внесения изменений в основные данные, а также, так что он создает новую «версию» основанный на 1.0, что он называет «2,0»

я изменить некоторые из объектов в 1.1 (Скажем, добавляю два свойства для моего объекта «Кошки»), и мы отправляем приложение в магазин приложений.

Теперь он хочет убедиться, что любые изменения, внесенные в 1.1, «слиты» в его модель 2.0. (т. е. его модель 2.0 теперь должна иметь обновленную сущность «кошки»). Как мы можем достичь этого, не принимая к сведению каждое изменение, которое мы делаем, и вручную добавляем/модифицируем их в версии 2.0?

Из того, что я понимаю, создавая новую «версию» в основных данных делает «глубокая копия» версии файла (вместо нее ссылаться и внесения изменений)

Спасибо!

+0

Вы используете программное обеспечение для управления версиями, такое как Git? – sosborn

+0

@sosborn Да, мы используем git/github для контроля версий. – SRandazzo

+0

Возможно, вы должны работать над отдельными ветвями. Почитайте об этом: http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging – sosborn

ответ

2

На самом деле, я думаю, что нет абсолютно автоматического способа достижения этого, но что вы можете сделать, это использовать инструменты миграции основных данных.

Например, создание модели сопоставления от 2.0 до 1.1 позволит вашему разработчику увидеть, что изменилось и как, поэтому он сможет легко добавить необходимые изменения.

Фактически, вы обязательно будете использовать модель сопоставления в будущем, чтобы ваша новая версия работала с данными предыдущего, поэтому было бы полезно посмотреть в этом направлении.

Подробнее о сопоставлении данных ядра here.

Example from iDeveloperTV's Core Data migration

Смежные вопросы