1

次のことはできますか?

  1. アプリの v1.0 から開始します。バージョン データ モデル、新しいバージョンをアクティブなスキーマとして指定
  2. 軽量移行を使用して NSPersistentStoreCoordinator を作成するための appDelegate で正しいオプションを設定します
  3. モデルに簡単な変更を加え、クラスを更新します。コンパイルして、すべてが機能することを確認します。
  4. バージョンを変更せずにデータ モデルに別の変更を加え、クラスを再度更新します。

もちろん、バージョン管理せずに変更したため、実行するとデータモデルに互換性がなくなります。しかし、私は中間バージョンを出荷しないので、v1.0 から 2 回更新されたデータ モデルに更新する場合、データ マイグレーションは正常に機能するのではないかと考えています。

これは正確ですか?

4

1 に答える 1

1

次の条件が満たされている限り機能します。

  1. これらのステップごとに新しいモデル バージョンを作成しました。したがって、上記の例では、最後に3つあるはずです:オリジナル、中間、最終。
  2. アプリは、1 から 3 への軽量の移行を実行できる必要があります。それができない場合、ディスク上のデータがまだ 1 の構造にある場合、2 を通過しません。

それがすべて真実なら、それはうまくいくでしょう。また、最終ビルドで v2 を出荷しないようにすることもできます (ただし、v2 は小さく、通常は努力する価値はありません)。

開発中は常に v1 データを保持し、v2 のみを変更し、v2 を調整する必要があるたびに再移行することをお勧めします。その場合、対処する中間体はありません。ただし、ベータ テスターを扱ったり作業したりする場合は、常に可能であるとは限りません。

于 2012-11-26T15:48:09.043 に答える