ESMigration
版本:0.0.1
ESMigration 库用于管理 App 版本升级或 Build 编译版本升级时的数据迁移、更新等操作。
安装
SPM (推荐)
ESMigration 支持使用 Swift Package Manager 方式进行管理安装。
package.dependencies += [
.package(url: "https://github.com/KKLater/ESMigration.git", from: "0.0.1"),
]
Cocoapods
ESMigration 同样支持使用 pods 方式进行管理安装
pod 'ESMigration', "~> 0.0.1"
使用
ESMigration 支持应用版本升级迁移和编译版本升级迁移。应用版本升级迁移使用 Migration.App
;编译版本升级迁移使用 Migration.Build
。
逐级升级迁移 当前迁移版本号低于应用版本号,并且迁移版本号高于已记录的前一个迁移版本号时,执行相应操作。
Migration.App.migration(to: "1.1.0") {
print("Do migration App to 1.1.0")
}
升级更新 当前应用版本号与已记录版本号不一致时,执行相应更新操作。版本号不存在大小比较,仅做 ==
比较即可。即只需当前版本号低于已记录版本号,就可以完成降级支持。
Migration.App.update {
print("Do update App to 2.2.0")
}
还原记录 reset 方法,还原记录的迁移版本号和记录的升级版本号。仅清理记录版本号,不会对已执行操作还原。
/// 将迁移记录版本清空,将更新记录版本清空
Migration.App.reset()
/// 将迁移记录置为 1.1.0,将更新记录版本清空
Migration.App.reset(to: "1.1.0")
查询记录版本号 lastMigrationVersion
对应最后一次迁移版本号;lastUpdateVersion
对应最后一次 update
记录版本号。
Migration.App.lastMigrationVersion
其他
ESMigation 支持的版本号需要满足同一规则。例如,之前的版本号为 1.0.0
,之后的版本号规则需保持一致 2.0.2
或 2.0
。不可以修改为 v2.0
、version2.0
等。 版本号比较采用 Swift.String
的 >
、<
、>=
、<=
、==
比较。 动作块
在迁移执行的线程上执行。