4

SQLでバックアップされたCoreDataアプリにバックアップと復元の機能を実装したいと思います。ドロップボックスを介して.sqliteファイルを正常にバックアップおよび復元できますが、このアプローチについて1つの質問があります。

将来、私のデータモデルが変更された場合、2つのケースが発生する可能性があります。

  1. 新しいバージョンでユーザーをバックアップし、古いバージョンのアプリで復元します。私の理解では、それはいくつかのスキーマエラーを引き起こします。
  2. 古いバージョンでユーザーをバックアップし、新しいバージョンで復元します。これは通常の場合と同じように移行するはずなので、問題なく動作すると思います。

この仮定が正しい場合、最初のケースから発生する可能性のある問題を処理するにはどうすればよいですか?

4

1 に答える 1

1
  1. バックアップを作成するときは、バックアップのバージョンが保存されているplistファイルを含むzipファイルとして作成します。復元するときは、そのバージョンを確認し、バックアップが現在のバージョンよりも新しい場合は、復元を拒否します。古いバージョンのアプリでバックアップを復元することは意味がありません。
  2. 必要なモデルがある限り、正しく動作します。
于 2012-12-27T14:36:55.593 に答える