hidu/mysql-schema-sync:mysql表结构自动同步工具
mysql - schema - sync是一个MySQL表结构自动同步工具,用于将线上数据库Schema变化同步到本地测试环境,仅同步Schema不同步数据。支持同步新表、字段与索引变动,支持预览、邮件...
标签:Github项目mysql-schema-sync MySQL表结构同步 数据库Schema 线上线下同步【Github】项目名:hidu/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表结构自动同步工具都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。