资讯专栏INFORMATION COLUMN

数据库对比脚本

NicolasHe / 2898人阅读

摘要:项目介绍找出两个数据库的不同之处不同的表相同表中不同的字段相同表中不同的索引相同表中某一字段不同的值注意这里的不同是指库中有但是库中没有生成同步用的语句新建的表新建的字段新建的索引新插入的数据注意这些会在浏览器页面中显示做了简单的样式美化

PHP-DBCompare 项目介绍 找出两个数据库的不同之处:

不同的表

相同表中不同的字段

相同表中不同的索引

相同表中某一字段不同的值

注意: 这里的"不同"是指: src库中有, 但是target库中没有

生成同步用的SQL语句:

新建的表

新建的字段

新建的索引

新插入的数据

注意: 这些SQL会在浏览器页面中显示, 做了简单的css样式美化

使用说明 需要安装PHP7+ 调用代码
require("D:servercodePHP-DBCompareDBCompare.php");

DBCompare::ini()
->setExportTable("^[a-z_0-9]+$")
->setExportTable("^(?!.*tmp).*")
->setExportTable("table1|table2|table3")
->build("src", "db-dev.test.com", "database", "user", "pwd", "3306")
->build("target", "db-pro.test.com", "database", "user", "pwd", "3306")
->diffSchema()
->diffData("table1", "id")
->diffData("table2", "age,name")
->outForBrowser();

其中:

build() 比较"src" 与 "target" 两个数据库的差异

setExportTable() 指定参与比较的表名, 传入参数是正则表达式.

例如上边: 表名要是由字母,数字,下划线组成的, 而且不能含有tmp字符串, 而且包含table1或table2或table3字符串; 如果不调用该方法, 表示找到所有表的差异

diffSchema() 找到src中比target多出来的表, 缺少的字段, 缺少的索引

diffData() 找到src中某个表某个字段比target多出来的值.

例如上边: 分别找到两个数据库中, table1中id字段src多出来的值, table2中age+name字段src多出来的值. 注意注意, 数量不要太大

项目源码 码云

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29604.html

相关文章

  • 深度学习三大硬件+四大学习库基准测试对比,指标全面呈现

    摘要:基准测试我们比较了和三款,使用的深度学习库是和,深度学习网络是和。深度学习库基准测试同样,所有基准测试都使用位系统,每个结果是次迭代计算的平均时间。 购买用于运行深度学习算法的硬件时,我们常常找不到任何有用的基准,的选择是买一个GPU然后用它来测试。现在市面上性能较好的GPU几乎都来自英伟达,但其中也有很多选择:是买一个新出的TITAN X Pascal还是便宜些的TITAN X Maxwe...

    YacaToy 评论0 收藏0
  • 高性能JavaScript(文档)

    摘要:最近在全力整理高性能的文档,并重新学习一遍,放在这里方便大家查看并找到自己需要的知识点。 最近在全力整理《高性能JavaScript》的文档,并重新学习一遍,放在这里方便大家查看并找到自己需要的知识点。 前端开发文档 高性能JavaScript 第1章:加载和执行 脚本位置 阻止脚本 无阻塞的脚本 延迟的脚本 动态脚本元素 XMLHTTPRequest脚本注入 推荐的无阻塞模式...

    RayKr 评论0 收藏0
  • TypeScript VS JavaScript 深度对比

    摘要:是事件驱动的,只根据用户的操作做出相应的反应处理。中的数据要求带有明确的类型,不要求。这些小小的变化可能会产生严重的意想不到的后果,因此有必要撤销这些变化。的优势相比于,也有一些明显优势。因此在应对大型开发项目时,使用更加合适。 showImg(https://segmentfault.com/img/bV1Dx7?w=740&h=322); TypeScript 和 JavaScri...

    William_Sang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<