最近在开发过程中遇到一个问题:刚经历了一个两个月的长迭代,导致测试库已经被改的面目全非了,最关键的是所有的变更语句都没有记录,这上线的时候怎么办啊,一百多张表呢,幸好组里的老程序猿说用过一个工具:Navicat的数据库结构同步,问题就轻松解决了。
首先打开navicat,然后点击工具,选择结构同步:
然后选择自己的来源库和目标库,来源库代表了我们的同步视角,例如来源库选测试库,目标库选生产库就代表了,我们要在线上的数据库执行哪些语句来完成上线。例如我们要进行上线操作,选择对应的服务器和数据库
选择好后我们调整一下对比选项,这个是用来控制对比范围的:
选择好后直接点击【比较】按钮即可:
这里我用的是单机复制了一个连接进行演示,所以没有区别,【DDL比较】体现的是建表语句比较。【部署脚本】则是我们上线要执行的脚本。如果是测试同步线上,那么到比对这一步就可以截止了,我们拷贝出需要的脚本文件交给DBA执行就行了。
如果比较的是两套测试环境,那么完成后我们直接执行同步即可。
这样不管你改动过多少张表,都可以发现变化。