数据库迁移
什么是数据迁移?
数据库表结构发生了改变,或新增了表,app更新的时候,这些变化需要更新到新的app中
问题解决:
我自己弄了个 备份数据库,数据迁移到备份数据库,新表结构创建后,把备份中的数据,写入到新数据库中。
sqlite 它是文件型数据库,直接用代码可以拷贝一份他的db
一个db文件就是整个数据库了

我做了一个宏定义#define APP_DB_NEW_VERSION_NUMBER 1 ,NSUserDefault里存它的值,如果数据结构不变,宏定义的值不变;如果数据结构发生变化,宏定义的值会+1,每次比较两个值:
A:如果两个值一样,就不做迁移处理;
B:如果宏定义的值比NSUserDefault大,就执行一下操作,操作步骤:
1.拷贝数据库文件
2.打开已经拷贝好的备份数据库
3.关闭原有数据库
4.删除原有db文件
5.创建新的db文件,并打开
6.开始迁移数据
7.关闭备份数据库
8.删除备份数据库
9.宏定义的值存到NSUserDefault里;
创建数据库和表
用sqlite,他就会生成一个db文件,一个db就是一个数据库,所以先创建db,db里建table,如果一个db中创建多个table,可以把创建每个table的sql语句放在plist文件中。如下所示:
重新下载
网友评论