比较数据库表结构之间的差异
在工作中常常会遇到升级的事情,对于不同的用户,有时所使用的数据库的表结构也会有一些不同,时间长了,往往就需要一份各版本数据库表结构的差异报告了。当你需要一份这样的报告时,你会怎么做?一个个的比较每个库的每个表,每个表的每个字段,每个字段的定义,索引……可怕啊。有没有什么好点的方法?我有一个半自动化的方法,抛砖引玉一下。
前提条件,你的机器里要有MS Visio。这个软件里,有一个[数据库——数据库模型图]的绘图类型。我就是用它来实现比较数据库表结构之间的差异的。
第一步:打开Visio,新建一个数据库——数据库模型图的文件。绘图文件打开后,选择主菜单的“数据库”-“反向工程”,这时,会弹出“反向工程向导”,从现有数据库中提取数据库架构。配置好你的数据源,就是要比较的数据库(一般是旧版数据库)。按提示,会要你输入用户名、密码的,然后就会让你选择要进行反向工程的对象类型。自己选择吧,你关心什么样的数据库结构,就选什么好了。OK,下一步,选择要进行反向工程的表和/或视图,全选好啦。再下一步,这里,问你是否要将形状添加到当前页,我建议你还是不要添加了,否,以后再添加形状。再下一步,检查一下,没问题就按完成吧。至此,源数据库的结构已经创建好了。保存一下文件吧。
第二步:在源数据库模型图文件中,选择主菜单的“数据库”—“刷新模型”。这时,会弹出“刷新模型向导”,和原来的反向工程向导基本一样,在这里,请选择你要比较的数据库(一般是新版数据库),按提示,会要你输入用户名、密码的,然后……,就开始比较当前数据库和存储在模型中的数据库映像之间的差异了。在这里,会有一个报告给你,这个报告,你即可信,也不要全信,为什么前面说是半自动化的方法呢,原因就在这,有差异,他会全部列出来,没有差异的地方,他也会列出来。OK,自己辛苦下,按这个报告的提示,咱自己一一验证,出个权威性的数据库结构差异报告吧。
好了,差异报告出来了。怎么样,比你一个个自己看,方便多了吧。
你可以按此方法,两两比较,很快,你的总报告就完成了。不过,这个方法只能比较表结构,你要是有些固化信息写在表内容里,这一招,可就不管用了。自己写语句比较吧。懒的话,就睁大眼睛慢慢看好了。
如果你有什么更好的方法,也请你告诉我,大家一起分享啊。
转载于:https://www.cnblogs.com/Frances/archive/2006/03/29/361594.html
比较数据库表结构之间的差异相关推荐
- python比较两个数据库表_mysql如何比对两个数据库表结构的方法
在开发及调试的过程中,需要比对新旧代码的差异,我们可以使用git/svn等版本控制工具进行比对.而不同版本的数据库表结构也存在差异,我们同样需要比对差异及获取更新结构的sql语句. 例如同一套代码,在 ...
- mysql比对两个数据库表结构的方法
在开发及调试的过程中,需要比对新旧代码的差异,我们可以使用git/svn等版本控制工具进行比对.而不同版本的数据库表结构也存在差异,我们同样需要比对差异及获取更新结构的sql语句. 例如同一套代码,在 ...
- mysql怎么对比表结构_mysql怎么对比两个数据库表结构
mysql怎么对比两个数据库表结构 发布时间:2021-02-03 11:45:58 来源:亿速云 阅读:58 作者:小新 这篇文章主要介绍了mysql怎么对比两个数据库表结构,具有一定借鉴价值,感兴 ...
- 关系型数据库表结构的两个设计技巧
关系型数据库表结构的设计,有下面两个设计技巧: 物理主键作为关联的外键 关系型数据库,由多个数据表构成.每一个数据表的结构是相同的,不同表之间可能存在关联关系.表之间的关联关系,正是关系型数据库得名的 ...
- java 轻量数据库_DBTree是一个springboot2 + vue-element-template实现的轻量数据库表结构查看及管理工具...
DBTree简介 DBTree是一个WEB版的轻量数据库表结构查看及管理工具,相比phpMyAdmin, DBTree只专注于方便开发查看表结构信息和 注释维护.通过树形展示库表结构,可以对表进行自定 ...
- Activiti数据库表结构(表详细版)
http://blog.csdn.net/hj7jay/article/details/51302829 1 Activiti数据库表结构 1.1 数据库表名说明 Activiti工作流总 ...
- 在线的MySQL数据库表结构对比工具
在项目部署上线前,测试版和正式版的数据库表结构做过哪些变更,如果没有做好实时记录,那么就需要对比找出差异,否则代码部分更新后,可能导致功能异常. 数据库表结构对比的工具很多,但是为了方便部署同步的,这 ...
- MYSQL对比两个数据库表结构
有时候,需要对比一下测试环境和生产环境中,数据库的表结构是否有所差异.有两个常用的工具. AmpNmp.DatabaseCompare GUI 界面,支持多种数据库(MySQL.SQL Server. ...
- 如何比较两个数据库表结构的不同
这些天在做基于开源系统二次开发,边改边加字段. 线上还运行了之前改好的系统. 表结构的设计管理混乱. 又没有好的办法,网上找的一下也没有很好的办法. 很多软件可以生成变更的sql代码,但不能直观查看便 ...
最新文章
- C++ Builder初学问与答(十三)
- linux id高 负载高,linux下的rsync连接数突然增高,负载增高导致服务登录失败
- MATLAB | 解决打开延迟的情况
- java如何实现缩略图,Java实现缩略图的步骤
- php基础语法知识笔记(一)
- 基于java的银行ATM系统设计(含源文件)
- 国内比较好的几大酷站收藏网分享
- matlab 矢量化编程(二)—— 使用 meshgrid
- (转)比特币基金难产 区块链基金成首发
- 摩托罗拉linux专属游戏,摩托罗拉E680软件以及游戏应用大全
- [题]口袋的天空(连接云朵) —— 标签 #最小生成树(kru) #并查集
- 本地连接服务器无响应怎么解决办法,本地连接的服务器未响应
- Verilog除法器(32位无符号+带符号)
- 通过跳绳瘦下来是一种怎么样的体验?
- [HOW TO]-oppo手机安装google play
- 经纬度坐标转换为屏幕坐标
- python opencv2 将两张图片合并为一张
- 互连网、互联网、因特网、万维网、局域网、以太网 区别
- 期末复习操作系统---设备管理
- 上海市大数据技术与应用创新中心成立
热门文章
- matlab中读文件的行数_[转载]MATLAB中获取大型文本文件行数方法研究(转)
- 怎么计算一组数据的波动_数据分析(一):数据描述统计
- oracle+view性能,Oracle 10g的隐含参数_complex_view_merging引发的性能问题
- Halcon模板轮廓坐标点获取
- linux shell 日期比较大小,在Shell中使用日期运算和比较详解
- Github 的 Pull Request 教程
- 精读《Function VS Class 组件》
- 美国拟将14项关键技术列入出口管制清单 商务部回应
- JavaScript获取浏览器的显示区域大小信息
- ThreeJS的特效合成器和后期处理通道