【iOS(swift)笔记-13】App版本不升级时本地数据库sqlite更新逻辑一

App版本不升级时,又想即时更新本地数据库怎么办?

办法一:直接从服务器下载最新的sqlite数据库替换掉本地的

具体逻辑

1、首先本地数据库里一定要有一个字段(名字自己取)

比如dbVersion,可用数字(比如1或字符串1.0.0)存储,记录当前数据库的版本

2、访问服务器

服务器同样也有一个属性dbVersion2记录最新版本的"App的本地数据库",以及最新版本的数据库sqlite文件

判断,如果dbVersion2>dbVersion

则下载sqlite数据库文件替换掉

换掉过程注意保留用户数据哦!!!

关于数据库的替换步骤可参考前几篇的"【iOS(swift)笔记-11】App版本升级时本地数据库sqlite更新逻辑",只是差异在于

"源文件"也就是新下载的数据库,是下载到了沙盒里,所以源文件的路径要改向沙盒。

static let db2Name = "db2.db" // 网络下载的数据库

let dbURL: URL

if !isDownload {

// 数据库源文件,放到了项目的资源根目录下(与Info.plist同级)

dbURL = URL(fileURLWithPath: Bundle.main.path(forResource: Config.dbName, ofType: "db")!)

}

else {

// 在沙盒中路径

dbURL = sandURL(filename: Config.db2Name)

}

相关推荐
码农小卡拉7 分钟前
深入解析Spring Boot文件加载顺序与加载方式
java·数据库·spring boot
怣5012 分钟前
MySQL多表连接:全外连接、交叉连接与结果集合并详解
数据库·sql
wjhx32 分钟前
QT中对蓝牙权限的申请,整理一下
java·数据库·qt
冰暮流星43 分钟前
javascript之二重循环练习
开发语言·javascript·数据库
万岳科技系统开发1 小时前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
JustDI-CM1 小时前
AI学习笔记-提示词工程
人工智能·笔记·学习
爱写bug的野原新之助1 小时前
加密摘要算法MD5、SHA、HMAC:学习笔记
笔记·学习
冉冰学姐1 小时前
SSM智慧社区管理系统jby69(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·管理系统·智慧社区·ssm 框架
杨超越luckly1 小时前
HTML应用指南:利用GET请求获取中国500强企业名单,揭秘企业增长、分化与转型的新常态
前端·数据库·html·可视化·中国500强
Elastic 中国社区官方博客2 小时前
Elasticsearch:Workflows 介绍 - 9.3
大数据·数据库·人工智能·elasticsearch·ai·全文检索