2013-03-27 3 views
1

Как я могу создать резервную копию моих основных объектов данных, созданных в версии 1, и восстановить их в версии 2? Просто скопируйте файл .sqlite не будет работать, если модель изменится ... Есть ли способ создать резервную копию файла, чтобы восстановить его, а затем начать миграцию?iOS: резервные данные ядра и восстановление с более новой версией модели

+1

Почему? Является ли ваша модель слишком сложной для автоматической миграции легкого веса? –

+0

нет, они не (пока?). но я не могу заменить sqlite на старый, не так ли? Я имею в виду, пока приложение работает, например. пользователь нажимает «восстановить резервную копию», а затем восстановление должно произойти. – swalkner

+1

Почему бы и нет? Я имею в виду, вам нужно было бы удалить любые «открытые» контексты управляемых объектов, прежде чем вы это сделаете, но когда вы его откроете, он автоматически выполнит миграцию снова. –

ответ

1

Большое спасибо за ваши предложения!

решаемые его MagicalRecord следующим образом:

  1. [MagicalRecord cleanUp];
  2. копия .sqlite, .sqlite-шм, .sqlite-валь к новому месту
  3. [MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:sqliteFileName];

готово - отлично работает!