比较数据库表结构之间的差异

转载 2006年06月23日 13:51:00
 

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

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

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

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

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

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

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

相关文章推荐

比较两个mysql数据库表结构的差异

需求来源:一个线上系统,一个开发系统,现在要把开发系统更新到线上,但是开发系统的数据库结构与线上的略有差异,所以需要找出两个数据库的表结构差异。 数据库表结构的差异 注:操作均在Linux系统...

oracle数据库之间的导入、导出,复制数据库表结构(无数据)

1、不同用户之间的表数据复制 2、同用户表之间的数据复制 3、B.x中个别字段转移到B.y的相同字段 4、只复制表结构 加入了一个永远不可能成立的条件1=2,则此时表示的是只复制表结构,但是不复制表...

oracle数据库表结构比较

  • 2014年02月21日 09:15
  • 2.58MB
  • 下载

两个数据库比较 对比视图存储过程及表结构差异

一、视图和存储过程比较【原理】利用系统表“sysobjects"和系统表“syscomments”,将数据库中的视图和存储过程进行对比。系统表"sysobjects"之前有详细介绍过,有兴趣可以看看:...
  • lee576
  • lee576
  • 2014年02月19日 13:11
  • 4310

数据库表结构比较工具

  • 2013年03月29日 16:41
  • 18KB
  • 下载

两个数据库表结构比较(C#)

  • 2010年06月25日 16:36
  • 551KB
  • 下载

两个数据库比较 对比视图存储过程及表结构差异

两个数据库比较 对比视图存储过程及表结构差异 一、视图和存储过程比较 【原理】利用系统表“sysobjects"和系统表“syscomments”,将数据库中的视图和存储过程进行对比。系统表"...
  • cowbo
  • cowbo
  • 2016年06月28日 11:39
  • 1810

数据库表结构比较器V1.0注册机

  • 2009年10月09日 10:24
  • 46KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:比较数据库表结构之间的差异
举报原因:
原因补充:

(最多只允许输入30个字)