Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Core Data を利用するアプリがあります。Core Data エンティティの 1 つは、列挙を表す NSInteger です。次の改訂では、列挙値が変更されたため、古い列挙型を新しい列挙型に再マップする必要があります。
この場合、コア データの移行は適切なアプローチですか。モデルは変更されておらず、データの私の解釈にすぎません。移行ポリシーを実装しようとしましたが、機能しません (移行ポリシーが実行されません)。
ありがとう!
--ジョン
列挙型の末尾にいくつかの新しい値を追加した場合は、何も移行しません。古い数値が古い値と同じであることを確認してください。
各列挙型が表す値を変更した場合、列挙型は決して変更されるべきではないため、そもそも列挙型を使用すべきではありません。この場合、新しい列または関係を追加しますが、今回は列挙型を使用しない方がよいでしょう。
データベース構造に古い列挙型を残しますが、NSManagedObject のサブクラスで、どちらかが変更されるたびに両方の値を更新する処理を行います (またはそのようなもの)。