美文网首页专注iOS开发(OC/Swift)
数据库升级问题总计(一)

数据库升级问题总计(一)

作者: 洲洲哥 | 来源:发表于2017-11-03 17:32 被阅读42次

本文首发地址
由洲洲哥技术博客首发,转载请说明地址和添加该文章的链接地址
数据库升级问题总计(一)
1:概念篇
在iOS技术应用开发中,数据库我们常用:比如FMDB、coredata、最新还出了一个数据存储的 技术具体叫什么名字我后期加上。现在忘了。
顺便再这里问大家一句:这个FMDB和coredata有什么区别?我个人觉得出了苹果提供给的coredata的api、自生的多线程不安全外,其他的还真没什么区别
这里请大家正确理解数据库升级和升级sqllite。 正常情况第一版发布数据库版本就已经构建。但我们在第二版发布的时候,有可能够重新修改数据表配置。 这里我们就要对数据库升级当然也可以说是升级sqllite。各位看官可千万别傻了吧唧的以为是把sqlite自己的的版本更新啊。你可别傻了。
2:设计升级数据库需要考虑的问题
在iOS开发中我们要升级数据库就要考虑以下几个问题
1:数据库中表的更改
2:数据不能清空,就是还要保留原有的数据内容
3:保证数据库中对表的查询不出问题
4:更新迭代问题
5:隔N代升级问题
3:升级数据库思路
在这里先用文字描述一下。
在升级数据库的时候程序只能在新版本app首次执行的时候执行,其他情况不执行。 于是乎我们开始吧!!!
思路如下:
1:创建数据库版本���号
2:创建数据库执行日志记录类
3:创建数据库版本号对应的数据库日志记录
4:写算法快速找到当前版本号到最新版本号数据库更新日志,并且执行对数据库的修改
5:跟新完成
4:可能遇见的问题
问题可能会很多啊
简单说一个问题吧
假设洲洲哥的app已经发布了500个版本。 A用户用的app就是第一版的App(不要考虑不升级不能用的问题),此时用户突然升级了, 怎么解决从第一版到最新版的数据库升级的问题呢?
解决办法如下:
1:获取当前数据库版本号 currentV;
2: 以当前版本号为起点,循环终点为当前app最新数据库版本号
3:循环执行数据库记录日志
注意这里要处理在根据数据库日志文件修改数据库结构时的等待时间。最简单我们可以用菊花装来提示用户这个等待时间。
等处理完毕以后处理后续程序
也有可能会出现快速修改数据库失败现象
如有问题可添加QQ群:234812704(洲洲哥之说)
欢迎各位一块学习,提高逼格!
也可以添加洲洲哥的微信公众号

洲洲哥技术博客

相关文章

  • 数据库升级问题总计(一)

    本文首发地址由洲洲哥技术博客首发,转载请说明地址和添加该文章的链接地址数据库升级问题总计(一)1:概念篇在iOS技...

  • Android 数据库

    sqlite详解 sqlite升级,增加字段的语句 数据库框架对比和源码分析 数据库的优化 数据库数据迁移问题

  • Linux—编写shell脚本操作数据库执行sql

    修改数据库数据   在升级应用时,我们常常会遇到升级数据库的问题,这就涉及到sql脚本的编写。  一般我们会通过写...

  • GreenDao数据库升级

    GreenDao数据库升级 第1步:升级数据库版本号 第2步:修改数据库实体类 第3步:迁移数据库 注:数据库升级...

  • FMDB数据库升级——增加表字段

    前言 升级数据库是个很繁琐看似很麻烦的事情,有次面试,面试官问了关于增加字段更新数据库升级的问题,我是这么回答的,...

  • GreenDao数据库升级问题

    前面博客中有介绍轻量级的数据库GreenDao的整合。本文介绍如何对GreenDao数据库进行升级。 为什么要进行...

  • Android Room数据库版本升级随笔

    Android Room数据库版本升级随笔 遇到一个问题是需要更新播放器缓存多条数据,结果机器ota升级播放后打开...

  • SQlite升级

    升级数据库方式一: onUpgrade()方法是用于对数据库进行升级的。假如现在要在数据库中添加一个STUDENT...

  • iOS数据库版本升级问题

    项目中遇到一个数据库版本升级问题,最后还是解决了,现在来记录下这个坑。iOS项目中有数据库方面的知识,之后的数据库...

  • iOS APP新版本升级数据库

    原文iOS APP新版本升级数据库 我们常常会在APP中使用数据库,但是由于版本迭代问题,数据库的结构可能会发生变...

网友评论

    本文标题:数据库升级问题总计(一)

    本文链接:https://www.haomeiwen.com/subject/oeatmxtx.html