Миграция данных без старой модели - PullRequest
0 голосов
/ 13 января 2012

Мне случайно удалось потерять старую версию нашей модели данных, и теперь автоматическая облегченная миграция не работает (очевидно).Мне удалось позволить Core Data удалить старое хранилище, если возникнет эта проблема, но я, очевидно, хотел бы не потерять старые данные.Так как я могу мигрировать вручную?При запуске я просто получаю сообщение об ошибке, что у координатора магазина нет постоянных хранилищ (ошибка 134140).

Я уже пытался создать новую версию модели, которая совпадает со старой (фактически она указывает на старую использованную модель).в сообщении об ошибке), но почему-то это тоже не работает.Раньше это работало раньше, но, видимо, я просто испортил сохранение версии модели текущей версии магазина приложений.

Редактировать: я просто подумал о другом способе (не знаю, почему я не думал об этом раньше): Поскольку основные данные поддерживаются базой данных SQLite, я не могу получить необходимую информацию (то есть 4 строки из базы данных, тогда я могу сам заполнить остальную ее часть) непосредственно из нее?Если да, что я могу использовать для этого?

1 Ответ

0 голосов
/ 13 января 2012

Я не совсем уверен, как это делается, но модель версионирована, возможно, с использованием GUID или криптографического хэша файла модели. Поэтому вам нужно точно тот же файл, с которым была создана модель.

Или, другими словами, вам нужно использовать контроль версий.

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

...