iOS App数据库迁移

2020-12-23  本文已影响0人  hui8685291

直接判断需要更新的字段是否存在,没有存在的话插入新的字段
//在已经创建好的表格中插入add字段的SQ语句
NSString *addStr = [NSString stringWithFormat:@"alter table '%@' add 'add' text ",name];
//判断maillisttable表格中是否有add字段
if (![_dataBase columnExists:@"add" inTableWithName:@"maillisttable"])
{
[_dataBase executeUpdate:addStr];
}
注意:这里确实可以满足升级数据库字段的需求,但是重复修改数据库字段也是不建议的,所以建议在创建和维护数据库时,一定要多提前做好数据库设计,尽量避免频繁升级数据库操作。

数据库升级数据迁移简单完整的解决方案

清除旧的数据,重建表

优点:简单

缺点:数据丢失

在已有表的基础上对表结构进行修改

优点:能够保留数据

缺点:规则比较繁琐,要建立一个数据库的字段配置文件,然后读取配置文件,执行SQL修改表结构、约束和主键等等,涉及到跨多个版本的数据库升级就变得繁琐并且麻烦了

创建临时表,把旧的数据拷贝到临时表,然后删除旧的数据表并且把临时表设置为数据表。

优点:能够保留数据,支持表结构的修改,约束、主键的变更,实现起来比较简单

缺点:实现的步骤比较多

有管FMDBMIgrationManager升级数据库可以参考https://www.cnblogs.com/sundaysgarden/p/10846797.html

上一篇 下一篇

猜你喜欢

热点阅读