【发布时间】:2013-12-06 10:31:15
【问题描述】:
我有一个托管对象模型,它只包含一个实体Person。在模型版本 1 中,Person 具有 id 和 name 属性。在版本 2 中,我添加了 phone 属性并使用自定义映射模型增加了每个人的 id。后来我创建了版本 3,删除了 phone 属性。这里的版本 1 和版本 3 意外地相同,如下图所示:
MOM ver | v1 | v2 | v3
---------+-----------+-----------+-----------
Entity | Person | Person | Person
Attrs | - id | - id | - id
| - name | - name | - name
| | - phone |
| ^ | ^
`--------' `-------'
Mapping: * Add phone * Remove phone
* Increment id
使用此模型,为模型版本 1 创建的商店与版本 3 具有完全相同的架构。无法确定用户是否拥有需要迁移的旧版本商店或具有最新版本版本。
所以这是我的问题:当我有两个相同的模型版本时,我如何判断一家商店的年龄是否足以迁移?也许通过将一条版本信息放在商店中,但是如何以及什么信息?或者我应该非常小心不要创建这样的版本?
【问题讨论】:
标签: ios macos cocoa-touch cocoa core-data