【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)

}

相关推荐
n***s9092 分钟前
Redis如何设置密码
数据库·redis·缓存
y***61317 分钟前
redis 使用
数据库·redis·缓存
n***786810 分钟前
Redis-配置文件
数据库·redis·oracle
老年DBA18 分钟前
Postgresql-使用 pg_trgm 实现高效的 LIKE / ILIKE 模糊搜索
数据库·postgresql
r***113326 分钟前
如何实现Redis安装与使用的详细教程
数据库·redis·缓存
翔云12345626 分钟前
MySQL中,binlog文件开头的Previous_gtids_log_event是如何计算的
数据库·mysql·adb
堇舟26 分钟前
数据库系统原理及应用 第一章 绪论
数据库
Alex Gram27 分钟前
Mysql增量同步到PostgreSQL实战
数据库·mysql·postgresql
代码游侠38 分钟前
学习笔记——数据结构学习
linux·开发语言·数据结构·笔记·学习
闲人编程41 分钟前
Django缓存策略:Redis、Memcached与数据库缓存对比
数据库·redis·缓存·django·memcached·codecapsule