mysql-schema-sync:mysql表结构自动同步工具

项目简介

mysql - schema - sync是一个MySQL表结构自动同步工具。它主要用于将线上数据库Schema的变化同步到本地测试环境,仅同步Schema而不同步数据。目前支持同步新表、字段变动(新增、修改)、索引变动(新增、修改),支持预览(只对比不同步变动)、邮件通知变动结果,还能支持屏蔽更新表、字段、索引、外键,并且本地可以比线上额外多一些表、字段、索引、外键。在原有基础上修复了比对过程中遇到分区表会终止后续操作的问题,支持分区表除分区以外的变更,还可控制每条ddl执行单个修改以兼容tidb ddl问题。

项目安装与配置

安装方面,可以使用go install github.com/hidu/mysql - schema - sync@master。配置方面,参考默认配置文件config.json来配置同步源、目的地址,还能修改邮件接收人等。例如可以设置同步源(source)、待同步的数据库(dest)、同步时忽略的字段和索引(alter_ignore)、需要同步的表(tables)、忽略检查Schema的表(tables_ignore)以及邮件通知(email)等相关配置。

项目运行

直接运行./mysql - schema - sync - conf mydb_conf.json - sync可进行同步;使用./mysql - schema - sync - drop - conf mydb_conf.json 2>/dev/null > db_alter.sql可预览并生成变更sql;使用shell调度bash check.sh,每个json文件配置一个目的数据库,check.sh脚本会依次运行每份配置,log存储在当前的log目录中;还可添加crontab任务实现自动定时运行,如30 cd/your/path/xxx/&&bash check.sh >/null 2>&1。同时,该工具还有多种参数可以控制其运行行为,如 - conf指定配置文件名称、 - dest指定待同步的数据库、 - drop控制是否对本地多出的字段和索引进行删除等。

项目总结

hidu/mysql - schema - sync为MySQL数据库表结构同步提供了方便的解决方案,功能较为丰富。如果你对这个项目有任何想法或者建议,欢迎在下方留言参与讨论。

项目地址

hidu/mysql-schema-sync:mysql表结构自动同步工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值