一、场景说明
1、目前有个项目,用的是SQLite数据库文件
2、团队协作,遇到了问题
1) db文件只有一份,分的作业不同,涉及的表不同
2)当提交db文件时,其他同事db文件冲突
3)如果拉取呢,本地的新建的表就会被覆盖
4)强行合并,要么丢已经提交的表结构,要么丢失本地未提交的表结构
5)总之是相当的不方便
3、临时解决方案
1)db文件放到了项目中
2)约束1: 项目中db记做A.db,复制项目中的db文件到其他目录,记做B.db
3)约束2: 开发时,用本地B.db;新增的表导出sql文件,放到项目中提交
4)约束3: 每日下班前,交由一位同事统一将sql文件同步到A.db,然后删除sql文件
5)约束4: 本地调试时,依赖的功能需要数据表在A.db中,并未同步到本地B.db中,导致本地作业时,需要另外将A.db中新增的表,同步到本地B.db
6)问题: 不清楚A.db每日都新增了哪些表,需要逐个排查然后同步到本地,那是相当麻烦
4、解决方案
1)写个工具,让工具执行同步
2)工具需要满足: 同步表结构,已经存在的表、忽略
3)工具需要满足: 同步表数据,相同表名、同步数据;已存在数据、忽略
4)扩展: 如果需要修改记录,删除目标表记录,重新同步数据即可
二、示例图
1、同步表结构
2、同步表数据
三、有需要,请联系
1、jar,
2、有需要,请关注微信公众号: hgSuper
3、留言即可,留言内容请填写: SQLite同步