数据库版本设计方案(数据库也能做版本控制)

来源:【公众号】

Python技术

上次给大家介绍了PDMan(Physical Data Model Manager) 如何配置数据库连接、逆向解析已有数据库以及关系图配置,都是我们数据模型设置中常用的功能。除了以上这些还有个很实用的数据库版本控制功能,一起来了解下。

模型版本控制

首先我们打开这个模型版本的标签页,可以看到下图,里面有三个功能 —— 同步配置、初始化基线和任务版本比较。

数据库版本设计方案(数据库也能做版本控制)(1)

先来看下这个同步配置是做什么的,单击会弹出窗,可以看到有两个数据表升级的选项:重建数据表和字段增量。这两个选项分别表示你在定义的每个版本导出SQL时,如果是重建数据表那就是导出全量SQL,如果是字段增量那会把生成你表结构修改的那部分。

数据库版本设计方案(数据库也能做版本控制)(2)

在我们实际使用中,我们有大量的存量数据,不可能每个版本都重新创建表结构,所以在这里选择字段增量就可以。

下面我们再看第二个功能,初始化基线是把你现在已经做好的模型作为初始版本,在这里你可以把版本号设置为v1.0.0,或者你认为能表示版本的文字都行。可以在版本描述中写上对这个版本进行简单描述。

数据库版本设计方案(数据库也能做版本控制)(3)

单击确定后,版本就初始化完成了,第一个版本就是当前全量的模型数据。

数据库版本设计方案(数据库也能做版本控制)(4)

初始化版本做好了,接下来我们对现在的版本进行修改,为了使大家直观的看到变化,这里就简单的修改如下:

修改用户表的状态字段

数据库版本设计方案(数据库也能做版本控制)(5)

修改了部门表的编码字段和名称的长度

数据库版本设计方案(数据库也能做版本控制)(6)

然后我们再到模型版本标签页,点击保存新版本,这里要注意下因为之前我们已经初始化了版本,所以现在初始化基线按钮,分成了两个:保存新版本和重建基线。

数据库版本设计方案(数据库也能做版本控制)(7)

单击保存新版本会弹出版本信息框,在这里可以设置下新版本的版本号和版本描述,这里我设置的是v1.0.1。

数据库版本设计方案(数据库也能做版本控制)(8)

单击确定生成新版本。现在我们能看到新版本出现在老版本的同一时间线的上面。我们能直观的看到两个版本之间的时间差。

数据库版本设计方案(数据库也能做版本控制)(9)

当然不能只看时间,单击新版本就会弹出窗里,展示出了这个版本跟上一版本进行比较,多了或者说改变了哪些内容。

数据库版本设计方案(数据库也能做版本控制)(10)

从图中我们可以很直观的看出,左边红框里是展示变化的信息,简单直观一看就懂。右侧红框里是模型改变的 SQL,我们可以导出到文件,或者 copy 出来都可以。因为我们数据库选的是 MySql ,所以这里只是展示了 MySql 的 SQL 语句。

任务版本比较

当然这里不只是可以和上一版本比较,还可以任意版本比较。为了说明这个功能,现在我们再修改一下字段内容。

数据库版本设计方案(数据库也能做版本控制)(11)

修改完然后再创建一个新版本v1.0.2,如下图可以看到有三个版本了。

数据库版本设计方案(数据库也能做版本控制)(12)

单击这个新版本,我们先来看下这个版本和上一版本又有了哪些变化,如下图可以看到只是简单的两条:

数据库版本设计方案(数据库也能做版本控制)(13)

现在再回到模型版本标签页,单击那个任务版本比较的按钮,看下这个功能到底能有多强大。

数据库版本设计方案(数据库也能做版本控制)(14)

数据库版本设计方案(数据库也能做版本控制)(15)

上面弹出的版本比较的窗口,可以看到有两个下拉框可选,分别是初始版本和增量版本。初始版本就是以选择的这个版本为基准。

这里我们先来比较个简单的,拿v1.0.0和v1.0.1版本进行比较,可以看到这个和最开始创建v1.0.1看到的变化内容是一样的。

数据库版本设计方案(数据库也能做版本控制)(16)

接下来我们再来比较下 v1.0.0和v1.0.2版本,可以看到这样跨版本比较,会列出两个版本之间所有的变化内容,这样我们就能很方便的看各版本之间改变的内容了。

数据库版本设计方案(数据库也能做版本控制)(17)

最后再来看下这个重建基线功能,单击弹出如下窗口,其实就是将你之前创建的版本全部清除,重新开始初始化一个新的版本。

数据库版本设计方案(数据库也能做版本控制)(18)

这里也算强提示了操作不可逆,实际使用中还是慎重操作。

总结

好了,到目前为止PdMan的功能基本都给大家介绍完了,总的来说它还是一个很实用的工具,希望能给大家带来一些帮助。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页