在工作中常常会遇到升级的事情,对于不同的用户,有时所使用的数据库的表结构也会有一些不同,时间长了,往往就需要一份各版本数据库表结构的差异报告了。当你需要一份这样的报告时,你会怎么做?一个个的比较每个库的每个表,每个表的每个字段,每个字段的定义,索引……可怕啊。有没有什么好点的方法?我有一个半自动化的方法,抛砖引玉一下。

前提条件,你的机器里要有MS Visio。这个软件里,有一个[数据库——数据库模型图]的绘图类型。我就是用它来实现比较数据库表结构之间的差异的。

第一步:打开Visio,新建一个数据库——数据库模型图的文件。绘图文件打开后,选择主菜单的“数据库”-“反向工程”,这时,会弹出“反向工程向导”,从现有数据库中提取数据库架构。配置好你的数据源,就是要比较的数据库(一般是旧版数据库)。按提示,会要你输入用户名、密码的,然后就会让你选择要进行反向工程的对象类型。自己选择吧,你关心什么样的数据库结构,就选什么好了。OK,下一步,选择要进行反向工程的表和/或视图,全选好啦。再下一步,这里,问你是否要将形状添加到当前页,我建议你还是不要添加了,否,以后再添加形状。再下一步,检查一下,没问题就按完成吧。至此,源数据库的结构已经创建好了。保存一下文件吧。

第二步:在源数据库模型图文件中,选择主菜单的“数据库”—“刷新模型”。这时,会弹出“刷新模型向导”,和原来的反向工程向导基本一样,在这里,请选择你要比较的数据库(一般是新版数据库),按提示,会要你输入用户名、密码的,然后……,就开始比较当前数据库和存储在模型中的数据库映像之间的差异了。在这里,会有一个报告给你,这个报告,你即可信,也不要全信,为什么前面说是半自动化的方法呢,原因就在这,有差异,他会全部列出来,没有差异的地方,他也会列出来。OK,自己辛苦下,按这个报告的提示,咱自己一一验证,出个权威性的数据库结构差异报告吧。

好了,差异报告出来了。怎么样,比你一个个自己看,方便多了吧。

你可以按此方法,两两比较,很快,你的总报告就完成了。不过,这个方法只能比较表结构,你要是有些固化信息写在表内容里,这一招,可就不管用了。自己写语句比较吧。懒的话,就睁大眼睛慢慢看好了。

如果你有什么更好的方法,也请你告诉我,大家一起分享啊。

转载于:https://www.cnblogs.com/Frances/archive/2006/03/29/361594.html

比较数据库表结构之间的差异相关推荐

  1. python比较两个数据库表_mysql如何比对两个数据库表结构的方法

    在开发及调试的过程中,需要比对新旧代码的差异,我们可以使用git/svn等版本控制工具进行比对.而不同版本的数据库表结构也存在差异,我们同样需要比对差异及获取更新结构的sql语句. 例如同一套代码,在 ...

  2. mysql比对两个数据库表结构的方法

    在开发及调试的过程中,需要比对新旧代码的差异,我们可以使用git/svn等版本控制工具进行比对.而不同版本的数据库表结构也存在差异,我们同样需要比对差异及获取更新结构的sql语句. 例如同一套代码,在 ...

  3. mysql怎么对比表结构_mysql怎么对比两个数据库表结构

    mysql怎么对比两个数据库表结构 发布时间:2021-02-03 11:45:58 来源:亿速云 阅读:58 作者:小新 这篇文章主要介绍了mysql怎么对比两个数据库表结构,具有一定借鉴价值,感兴 ...

  4. 关系型数据库表结构的两个设计技巧

    关系型数据库表结构的设计,有下面两个设计技巧: 物理主键作为关联的外键 关系型数据库,由多个数据表构成.每一个数据表的结构是相同的,不同表之间可能存在关联关系.表之间的关联关系,正是关系型数据库得名的 ...

  5. java 轻量数据库_DBTree是一个springboot2 + vue-element-template实现的轻量数据库表结构查看及管理工具...

    DBTree简介 DBTree是一个WEB版的轻量数据库表结构查看及管理工具,相比phpMyAdmin, DBTree只专注于方便开发查看表结构信息和 注释维护.通过树形展示库表结构,可以对表进行自定 ...

  6. Activiti数据库表结构(表详细版)

    http://blog.csdn.net/hj7jay/article/details/51302829 1  Activiti数据库表结构 1.1      数据库表名说明 Activiti工作流总 ...

  7. 在线的MySQL数据库表结构对比工具

    在项目部署上线前,测试版和正式版的数据库表结构做过哪些变更,如果没有做好实时记录,那么就需要对比找出差异,否则代码部分更新后,可能导致功能异常. 数据库表结构对比的工具很多,但是为了方便部署同步的,这 ...

  8. MYSQL对比两个数据库表结构

    有时候,需要对比一下测试环境和生产环境中,数据库的表结构是否有所差异.有两个常用的工具. AmpNmp.DatabaseCompare GUI 界面,支持多种数据库(MySQL.SQL Server. ...

  9. 如何比较两个数据库表结构的不同

    这些天在做基于开源系统二次开发,边改边加字段. 线上还运行了之前改好的系统. 表结构的设计管理混乱. 又没有好的办法,网上找的一下也没有很好的办法. 很多软件可以生成变更的sql代码,但不能直观查看便 ...

最新文章

  1. C++ Builder初学问与答(十三)
  2. linux id高 负载高,linux下的rsync连接数突然增高,负载增高导致服务登录失败
  3. MATLAB | 解决打开延迟的情况
  4. java如何实现缩略图,Java实现缩略图的步骤
  5. php基础语法知识笔记(一)
  6. 基于java的银行ATM系统设计(含源文件)
  7. 国内比较好的几大酷站收藏网分享
  8. matlab 矢量化编程(二)—— 使用 meshgrid
  9. (转)比特币基金难产 区块链基金成首发
  10. 摩托罗拉linux专属游戏,摩托罗拉E680软件以及游戏应用大全
  11. [题]口袋的天空(连接云朵) —— 标签 #最小生成树(kru) #并查集
  12. 本地连接服务器无响应怎么解决办法,本地连接的服务器未响应
  13. Verilog除法器(32位无符号+带符号)
  14. 通过跳绳瘦下来是一种怎么样的体验?
  15. [HOW TO]-oppo手机安装google play
  16. 经纬度坐标转换为屏幕坐标
  17. python opencv2 将两张图片合并为一张
  18. 互连网、互联网、因特网、万维网、局域网、以太网 区别
  19. 期末复习操作系统---设备管理
  20. 上海市大数据技术与应用创新中心成立

热门文章

  1. matlab中读文件的行数_[转载]MATLAB中获取大型文本文件行数方法研究(转)
  2. 怎么计算一组数据的波动_数据分析(一):数据描述统计
  3. oracle+view性能,Oracle 10g的隐含参数_complex_view_merging引发的性能问题
  4. Halcon模板轮廓坐标点获取
  5. linux shell 日期比较大小,在Shell中使用日期运算和比较详解
  6. Github 的 Pull Request 教程
  7. 精读《Function VS Class 组件》
  8. 美国拟将14项关键技术列入出口管制清单 商务部回应
  9. JavaScript获取浏览器的显示区域大小信息
  10. ThreeJS的特效合成器和后期处理通道