敏捷开发项目中升级mysql数据库,谈谈结构、数据比对,navicat for mysql + dbForge Data Compare for MySQL 足矣!

在公司项目中,我有幸负责制作“升级脚本”。升级脚本,无疑两步,先结构比对,再初始数据比对。

一、结构比对

结构比对比较简单,使用navicat for mysql 工具,“工具”-“结构同步”,选择好“源”、“目标”、“比对选项”后,点击“比对”。(假如需要将数据库v4升级到v5)

敏捷开发项目中升级mysql数据库,谈谈结构、数据比对,navicat for mysql + dbForge Data Compare for MySQL 足矣!_第1张图片

比对完毕,将结构同步的sql语句全选复制出来,如下图

敏捷开发项目中升级mysql数据库,谈谈结构、数据比对,navicat for mysql + dbForge Data Compare for MySQL 足矣!_第2张图片

二、数据同步

右击“全选勾选”,“运行查询后”,实现结构同步,接下来需要数据比对了。

项目中,随着开发的深入,初始数据可能变化,例如权限模块的重构、新功能的添加。

navicat for mysql有“数据同步”,但是不能显示"数据比对"产生sql语句。

2.1 人工比对

很无奈,使用项目中SVN提交sql的版本号比较,右击“compare revisions”

敏捷开发项目中升级mysql数据库,谈谈结构、数据比对,navicat for mysql + dbForge Data Compare for MySQL 足矣!_第3张图片

可能因为我sql脚本文件大,出现以下意外情况:

敏捷开发项目中升级mysql数据库,谈谈结构、数据比对,navicat for mysql + dbForge Data Compare for MySQL 足矣!_第4张图片

上网查了些资料,发现有个“beyond compare”文本比对工具,感觉跟SVN的比对类似。下载地址:http://www.scootersoftware.com/download.php

敏捷开发项目中升级mysql数据库,谈谈结构、数据比对,navicat for mysql + dbForge Data Compare for MySQL 足矣!_第5张图片

2.2  自动比对

苦逼的比对后,完成任务。我又试着找这类的软件。发现一个red gate公司的mysql compare(含mysql data compare)软件满足我基本要求,遗憾的是,有乱码,例如,我的sql脚本中,中文比对后显示成“???”。该软件最近版本是2012年的,没人维护升级。老外也有这样的困惑,放弃!

下载地址:http://www.red-gate.com/products/mysql/mysql-compare/

敏捷开发项目中升级mysql数据库,谈谈结构、数据比对,navicat for mysql + dbForge Data Compare for MySQL 足矣!_第6张图片

惊喜的是,终于找到满意的软件工具了---dbForge Compare Bundle for MySQL,下载地址:http://www.devart.com/downloads.html

这软件跟mysql compare很相似,对于经常用navicat for mysql的朋友很简单,比对后,点击同步。

敏捷开发项目中升级mysql数据库,谈谈结构、数据比对,navicat for mysql + dbForge Data Compare for MySQL 足矣!_第7张图片

创建脚本文件,并使用内置编辑器打开

敏捷开发项目中升级mysql数据库,谈谈结构、数据比对,navicat for mysql + dbForge Data Compare for MySQL 足矣!_第8张图片

清爽的sql脚本出炉了,根据项目需要,简单手工修改。

敏捷开发项目中升级mysql数据库,谈谈结构、数据比对,navicat for mysql + dbForge Data Compare for MySQL 足矣!_第9张图片

最后,结合事务,写存储过程。

你可能感兴趣的:(敏捷开发项目中升级mysql数据库,谈谈结构、数据比对,navicat for mysql + dbForge Data Compare for MySQL 足矣!)