SuperAPI AI 工具集

axiom-swiftdata-migration-diag

数据与分析

查看项目

更新于 10-16 00:23

技能介绍

用途:系统化诊断 SwiftData 迁移问题,包括启动崩溃、关系未保留、数据丢失,以及模拟器通过但真机失败等情况。其核心判断是:绝大多数迁移失败源于 VersionedSchema 缺少模型、关系 inverse 配置错误或迁移路径未经测试,而非框架缺陷。

主要能力:提供错误信息到根因的映射(如“Expected only Arrays for Relationships”对应多对多关系缺少 inverse;“incompatible model”对应架构版本不匹配;“Failed to fulfill faulting”对应关系未预取);给出迁移计划、VersionedSchema 模型清单、关系 inverse 声明与容器初始化的检查要点;提供数据完整性验证(记录数、抽样记录、关系与 inverse 检查、孤儿数据检查);覆盖自定义迁移阶段中 willMigrate 与 didMigrate 的正确使用、关系预取及删除规则检查;强调真机与升级路径测试。

使用方式:先用 -com.apple.coredata.swiftdata.debug 1 开启调试日志,截图或记录准确错误信息;检查 schemas 数组是否包含全部版本且顺序正确、stages 是否匹配版本过渡、VersionedSchema.models 是否列出所有模型(含未变更模型)、多对多关系两侧是否声明 inverse;确认容器使用最新架构并注册迁移计划;迁移后在真机校验记录数、抽样记录、关系与 inverse、孤儿数据。数据转换应放在 willMigrate 中并调用 context.save()。

限制:资料侧重诊断流程与模式,未提供完整 API 文档、性能数据或对所有 SwiftData 版本的兼容性说明。分类:该技能面向 SwiftData 架构迁移的诊断与修复,属于编程与开发范畴。