前段时间公司项目因为数据库要添加新的字段,新的字段没法直接采用sql语句的方式直接插入到数据库中,现有的项目中没有完善可靠的数据库迁移方案,搜了一些资料,发现FMDBMigrationManager配合FMDB使用,可完成数据库的搭建和迁移工作,分享一下使用心得。
使用前提 : 项目中的数据库需要使用FMDB搭建, FMDBMigrationManager才能配合实现数据库的迁移操作。
使用步骤:
一、创建数据库存储路径:
二、创建数据库:
考虑多线程的话,可直接创建FMDatabaseQueue的实例对象;不考虑多线程可直接创建FMDatabase对数据库直接操作,这里我直接使用多线程创建数据库和对应的数据表:
注:第一次创建数据库时,根据自己业务创建对应的数据库表跟字段即可,迁移逻辑可不写;在后续的版本迭代中,如数据库表有字段变更,即可添加数据库迁移逻辑。
三、说明下创建迁移逻辑的注意事项:
1、首先创建迁移类CKZMigration, 并遵守FMDBMigrating协议
内部在代理方法里执行迁移sql语句
2、迁移类写好后,可以开始梳理迁移逻辑
例如:在项目下个版本的需求中要给数据库表添加email, score字段
注:迁移逻辑会在本地创建数据库每次迁移的变更表,并记录下每个版本,如果本地没有,上述语句会创建;
当然对应,也可添加对应的删除字段语句,包括建表语句.
以上是数据库的迁移逻辑。
希望这次的分享能够帮其他人解决类似的问题。