【问题标题】:How to "merge" Core Data configurations?如何“合并”核心数据配置?
【发布时间】:2015-06-05 16:05:24
【问题描述】:

我正在使用带有MagicalRecord 的Core Data,我的模型有两种配置:

PrefilledConfiguration 有四个实体,UserDataConfigurations 有六个。现在我想将它们全部合并到默认配置中 - 实现这一目标的最佳方法是什么?

是否需要迁移?如何将所有现有数据转移到新的合并(默认?)配置中?

【问题讨论】:

  • 您的实体是否出现在多种配置中?
  • 每个实体要么在 PrefilledConfiguration 中,要么在 UserDataConfiguration 中;两者都没有
  • 我不久前尝试过类似的事情,但失败了。在成功合并某些更改后,旧版本的更新路径完全中断。它没有给出任何错误,但所有用户数据都消失了。我猜你必须手动完成,是的,你需要一个更新脚本来迁移数据。
  • 你解决了吗?

标签: ios core-data magicalrecord


【解决方案1】:

您可以尝试手动编辑您的 xcdatamodel 文件。在包里面是简单的 XML 文件。这是来自我的测试 xcdatamodel 的示例:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="7701" systemVersion="14D136" minimumToolsVersion="Automatic" macOSVersion="Automatic" iOSVersion="Automatic">
    <entity name="Entity" isAbstract="YES" syncable="YES"/>
    <entity name="Event">
        <attribute name="timeStamp" optional="YES" attributeType="Date">
            <userInfo/>
        </attribute>
        <userInfo/>
    </entity>
    <configuration name="Test"/>
    <elements>
        <element name="Event" positionX="261" positionY="189" width="128" height="60"/>
        <element name="Entity" positionX="261" positionY="198" width="128" height="45"/>
    </elements>
</model>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多