我有一个管理 10 个不同实体的核心数据应用程序。它们基本上都是相同的,并且具有相同的属性。(NSStrings 和 UIImage)这会产生一个包含 10 个表的 sqlite DB:
Collection A table
-item with attributes xyz
-item with attributes xyz
-item with attributes xyz
Collection B table
-item with attributes xyz
-item with attributes xyz
-item with attributes xyz
etc, etc
我现在意识到这是一个不好的方法。我最终得到了 10 个不同的视图控制器和 10 个不同的 FRC。我应该把所有东西都放在一个带有“collectionX”属性的表中。这样,我将所有集合项都放在一个表下,并且根据用户所在的集合,我可以使用“collectionX”属性从 FRC 中返回这些项目,并带有谓词。
我想做的是将所有内容迁移到一个表中并为集合名称添加一个属性:
Collection table
-item from collection A (w/new "collectionX" attribute filled in as "collectionA")
-item from collection A (w/new "collectionX" attribute filled in as "collectionA")
-item from collection A (w/new "collectionX" attribute filled in as "collectionA")
-item from collection B (w/new "collectionX" attribute filled in as "collectionB")
-item from collection B (w/new "collectionX" attribute filled in as "collectionB")
-item from collection B (w/new "collectionX" attribute filled in as "collectionB")
etc, etc
因此,通过轻量级迁移,我应该能够进入所有 10 个实体并添加新的“collectionX”属性并使用关联集合的字符串填充它。
现在是困难的部分......我现在如何获取每个表中的所有条目并将它们全部复制到一个新表中并删除旧的 10 个表?