ibraheem-ghazi / dbdiff
基于PHP的脚本,帮助开发人员查找两个数据库结构之间的差异,并与自动生成的查询进行比较
1.1
2018-12-11 08:50 UTC
Requires
- php: >=5.6.0
Requires (Dev)
- phpunit/phpunit: ~4.0|~5.0
This package is not auto-updated.
Last update: 2024-09-26 17:13:41 UTC
README
DBDiff是一个基于PHP的脚本,帮助开发人员查找两个数据库结构之间的差异,捕捉新添加的列、删除的列、更改的列以及哪些属性已更改等,并使用如(ALTER, CREATE等)查询生成
屏幕截图
功能
- 以块的形式显示每个表的差异
- 仅显示差异
- 为每个列或表单独生成查询
- 可以合并查询并一次性复制
- 显示列属性旧值和新值
- 通过添加source=1或source=2查看旧或新的实际源代码
- 依赖MYSQL 不使用像
mysqldump
这样的系统命令 - 简单的用户界面
为什么选择DBDiff?
在长期寻找使用所有解决方案的脚本后,所有解决方案都通过在PHP中使用exec
或shell_exec
执行系统命令mysqldump
并获取输出作为SQL转储来比较差异,但这并不准确,可能会基于文本位置产生许多错误信息。也不清楚具体发生了什么变化。这就是为什么我构建了这个库,该库基于执行mysql的show
和desc
表,并手动解析信息,然后打印出分析结果及其查询。
待办事项
- 处理创建表
- 处理修改表
- 处理删除表查询
- 处理约束(PK,FK,索引等)
- 处理事件
- 处理函数
- 处理过程
- 处理触发器
- 处理视图
安装
使用composer安装此库
composer require ibraheem-ghazi/dbdiff
注意:确保脚本安全,不要允许公共访问。
开发
想贡献吗?太好了!我接受pull请求。
许可证
MIT