在 Swift 中自动执行最短路径的多步 Core Data 迁移。
一系列 Swift 扩展,用于 Core Data 的 NSPersistentContainer
和 NSPersistentCloudKitContainer
,可自动检测并执行多步存储迁移,使用最短的有效迁移序列。 该库支持轻量级和重量级迁移、多个存储、进度报告和可配置的日志记录。
只需最小程度地替换对 NSPersistentContainer.init
或 NSPersistentCloudKitContainer
的调用
container = PersistentCloudKitContainer(name: "MyStore",
managedObjectModel: model)
可选的附加参数可以启用更多功能
container = PersistentContainer(name: "MyStore",
managedObjectModel: model,
bundles: [Bundle.main, myResBundle],
modelVersionOrder: .list("V_One", "V_Two", "V_Six"),
logMessageHandler: myLogHandler)
container.migrationDelegate = self
所有迁移都作为 NSPersistentContainer.loadPersistentStores
的一部分进行。
TestSimpleMigrate.testCanMigrateV1toV3inTwoSteps
以获得一个端到端示例。Swift 6 或更高版本,Xcode 16 或更高版本。
该库基于 NSPersistentContainer
。 最低部署目标是 iOS 12.0、macOS 10.14.6、tvOS 12.0 和 watchOS 3.0。
PersistentCloudKitContainer
类基于 NSPersistentCloudKitContainer
,因此进一步需要 iOS 13.0、macOS 10.15、tvOS 13.0 或 watchOS 6.0 的最低部署目标。
没有额外的软件依赖项。
CocoaPods
pod 'TMLPersistentContainer'
Swift 包管理器
.Package(url: "https://github.com/johnfairh/TMLPersistentContainer/", majorVersion: 6)
Carthage
github "johnfairh/TMLPersistentContainer"
欢迎贡献和反馈:打开一个 issue / johnfairh@gmail.com / @johnfairh@mastodon.social
根据 ISC 许可证分发。