基于PHP的脚本,帮助开发人员查找两个数据库结构之间的差异,并与自动生成的查询进行比较

1.1 2018-12-11 08:50 UTC

This package is not auto-updated.

Last update: 2024-09-26 17:13:41 UTC


README

DBDiff是一个基于PHP的脚本,帮助开发人员查找两个数据库结构之间的差异,捕捉新添加的列、删除的列、更改的列以及哪些属性已更改等,并使用如(ALTER, CREATE等)查询生成

屏幕截图

dbdiff queries dbdiff results dbdiff constraints

功能

  • 以块的形式显示每个表的差异
  • 仅显示差异
  • 为每个列或表单独生成查询
  • 可以合并查询并一次性复制
  • 显示列属性旧值和新值
  • 通过添加source=1或source=2查看旧或新的实际源代码
  • 依赖MYSQL 不使用像mysqldump这样的系统命令
  • 简单的用户界面

为什么选择DBDiff?

在长期寻找使用所有解决方案的脚本后,所有解决方案都通过在PHP中使用execshell_exec执行系统命令mysqldump并获取输出作为SQL转储来比较差异,但这并不准确,可能会基于文本位置产生许多错误信息。也不清楚具体发生了什么变化。这就是为什么我构建了这个库,该库基于执行mysql的showdesc表,并手动解析信息,然后打印出分析结果及其查询。

待办事项

  • 处理创建表
  • 处理修改表
  • 处理删除表查询
  • 处理约束(PK,FK,索引等)
  • 处理事件
  • 处理函数
  • 处理过程
  • 处理触发器
  • 处理视图

安装

使用composer安装此库

composer require ibraheem-ghazi/dbdiff

注意:确保脚本安全,不要允许公共访问。

开发

想贡献吗?太好了!我接受pull请求。

许可证

MIT