数据库也能做版本控制?它做到了
共 1697字,需浏览 4分钟
·
2021-04-29 19:16
文 | 極光
来源:Python 技术「ID: pythonall」
上次给大家介绍了PDMan(Physical Data Model Manager) 如何配置数据库连接、逆向解析已有数据库以及关系图配置,都是我们数据模型设置中常用的功能。除了以上这些还有个很实用的数据库版本控制功能,一起来了解下。
模型版本控制
首先我们打开这个模型版本
的标签页,可以看到下图,里面有三个功能 —— 同步配置、初始化基线和任务版本比较。
先来看下这个同步配置
是做什么的,单击会弹出窗,可以看到有两个数据表升级的选项:重建数据表
和字段增量
。这两个选项分别表示你在定义的每个版本导出SQL时,如果是重建数据表
那就是导出全量SQL,如果是字段增量
那会把生成你表结构修改的那部分。
在我们实际使用中,我们有大量的存量数据,不可能每个版本都重新创建表结构,所以在这里选择字段增量
就可以。
下面我们再看第二个功能,初始化基线
是把你现在已经做好的模型做为初始版本,在这里你可以把版本号
设置为v1.0.0,或者你认为能表示版本的文字都行。可以在版本描述
中写上对这个版本进行简单描述。
单击确定
后,版本就初始化完成了,第一个版本就是当前全量的模型数据。
初始化版本做好了,接下来我们对现在的版本进行修改,为了使大家直观的看到变化,这里就简单的修改如下:
修改用户表的状态字段
修改了部门表的编码字段和名称的长度
然后我们再到模型版本
标签页,点击保存新版本
,这里要注意下因为之前我们已经初始化了版本,所以现在初始化基线
按钮,分成了两个:保存新版本和重建基线。
单击保存新版本
会弹出版本信息框,在这里可以设置下新版本的版本号和版本描述,这里我设置的是v1.0.1。
单击确定
生成新版本。现在我们能看到新版本出现在老版本的同一时间线的上面。我们能直观的看到两个版本之间的时间差。
当然不能只看时间,单击新版本就会弹出窗里,展示出了这个版本跟上一版本进行比较,多了或者说改变了哪些内容。
从图中我们可以很直观的看出,左边红框里是展示变化的信息,简单直观一看就懂。右侧红框里是模型改变的 SQL,我们可以导出到文件,或者 copy 出来都可以。因为我们数据库选的是 MySql
,所以这里只是展示了 MySql
的 SQL 语句。
任务版本比较
当然这里不只是可以和上一版本比较,还可以任意版本比较。为了说明这个功能,现在我们再修改一下字段内容。
修改完然后再创建一个新版本v1.0.2,如下图可以看到有三个版本了。
单击这个新版本,我们先来看下这个版本和上一版本又有了哪些变化,如下图可以看到只是简单的两条:
现在再回到模型版本
标签页,单击那个任务版本比较
的按钮,看下这个功能到底能有多强大。
上面弹出的版本比较的窗口,可以看到有两个下拉框可选,分别是初始版本和增量版本。初始版本就是以选择的这个版本为基准。
这里我们先来比较个简单的,拿v1.0.0和v1.0.1版本进行比较,可以看到这个和最开始创建v1.0.1看到的变化内容是一样的。
接下来我们再来比较下 v1.0.0和v1.0.2版本,可以看到这样跨版本比较,会列出两个版本之间所有的变化内容,这样我们就能很方便的看各版本之间改变的内容了。
最后再来看下这个重建基线
功能,单击弹出如下窗口,其实就是将你之前创建的版本全部清除,重新开始初始化一个新的版本。
这里也算强提示了操作不可逆,实际使用中还是慎重操作。
总结
好了,到目前为止PdMan
的功能基本都给大家介绍完了,总的来说它还是一个很实用的工具,希望能给大家带来一些帮助。OK,今天就聊这些,如果你喜欢记得点 在看
。
PS:公号内回复「Python」即可进入Python 新手学习交流群,一起 100 天计划!
老规矩,兄弟们还记得么,右下角的 “在看” 点一下,如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!