CoreDataでAttributes名を変更したらエラーになる

アプリ内にデータを保存するためにCoreDataを使っていて
Data ModelのAttributes名を変更したら、こんなエラーが発生して使えなくなりました。

 
 *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason:
 'This NSPersistentStoreCoordinator has no persistent stores.  It cannot perform a save operation.'

どうやら、Attributes名を変更するとアプリ内の
古いデータベースにアクセスできなくなるようです。

対処としてはデータベースを削除して作り直すか
データを引き継ぎするために「自動マイグレーション」という
処理をやる必要があります。

「自動マイグレーション」をやると古いデータベースの情報を
新しいデータベースに引き継いで使えるようになるようです。

「自動マイグレーション」のやり方がよくわからないので
アプリを削除してデータベースを初期化して作り直す方法で対処しました。

いまはCore Dataの動作テストをしてるだけなので
アプリ削除という荒技で対処できますが、アプリをリリースしたら
このやり方は使えないので「自動マイグレーション」のやり方を
勉強しないとダメですね。

タイトルとURLをコピーしました