问题:
目前所做的项目是属于敏捷开发,版本之间的迭代速度非常快,常常因为需求的变动,数据库表字段也要随之增加,而随之带来的灾难是在预发布环境,服务常常无法启动,因为某个帅哥没有及时把新增的字段add到正式环境…
如何解决
一般性方案
- 通过group_concat函数查询两边库表所有字段
select group_concat(COLUMN_NAME) from information_schema.COLUMNS where table_name = '表名'
- 进行对比
通过对比工具如Beyond Compare 4进行对比。
这种方案在表少的情况下,还挺好,省事,但如果涉及到几百个或者几千个表的时候,怎么办?很累的对不对?
好的方案
springboot连接多个数据源,然后进行匹配,简直太完美!!!!!
目前的代码可以找出不同库下表、字段的缺少,如果有其他需求,自己添加即可。
项目结构
片段代码
效果
github代码地址,欢迎star