当前位置: 首页 > news >正文

powerDesign 逆向 mysql 生成 物理模型,并用VBS脚本整理comment

学习自:https://www.cnblogs.com/xmyjcs/p/8536233.html

文章目录

    • Reverse Engineer
    • 格式化模型
        • 执行 VBS 脚本

Reverse Engineer

在这里插入图片描述

下面 DBMS 可以通过 ODBC(Open Database Connectivity,开放数据库连接)连接,
需要自己先去安装,网上教学较多,记得匹配 powerdesign的 32位或者64位
DBMS 的版本跟mysql貌似没啥关系,我的 win mysql8.0 可以正常连接~

在这里插入图片描述

这里选择想逆向的库:
在这里插入图片描述

在这里插入图片描述

接着确定,然后就到该库的表选择了:

在这里插入图片描述

这样物理模型就生成了!当然,可能comment没有显示出来,可以接着参考下文的脚本工具~

通过 Tools 中的生成选项可以立即生成相关模型(如逻辑模型等)
在这里插入图片描述


格式化模型

这里可以调整显示顺序等
在这里插入图片描述

执行 VBS 脚本

(可以不看,直接用)
VBS 是基于 Visual Basic 的脚本语言,全称 Microsoft Visual Basic Script Edition,即微软公司可视化 BASIC 脚本版。

下面脚本主要用于处理物理数据模型(PDM),将模型中的列名和视图名替换为对应的注释内容,同时对注释为空的列使用占位符处理,并且支持递归处理子包。

Option Explicit
ValidationMode = True
InteractiveMode = im_Batch

Dim blankStr
blankStr = Space(1)

Dim mdl ' the current model
' get the current active model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
    MsgBox "There is no current Model "
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
    MsgBox "The current model is not an Physical Data model. "
Else
    ProcessFolder mdl
End If

Private Sub ProcessFolder(folder)
    On Error Resume Next
    Dim Tab 'running table
    For Each Tab In folder.tables
        If Not tab.isShortcut Then
            Dim col ' running column
            For Each col In tab.columns
                If col.comment = "" Or Replace(col.comment, " ", "") = "" Then
                    col.name = blankStr
                    blankStr = blankStr & Space(1)
                Else
                    col.name = col.comment
                End If
            Next
        End If
    Next

    Dim view 'running view
    For Each view In folder.Views
        If Not view.isShortcut Then
            view.name = view.comment
        End If
    Next

    ' go into the sub-packages
    Dim f ' running folder
    For Each f In folder.Packages
        If Not f.IsShortcut Then
            ProcessFolder f
        End If
    Next
End Sub

效果:
在这里插入图片描述

相关文章:

  • 公司内部建立pypi源
  • 《Vue.js组件化开发实战:从安全纵深到性能跃迁》
  • leetcode刷题日记——三数之和
  • 李白打酒加强版本
  • 简单括号匹配_栈
  • 代码随想录算法训练营第十四天
  • UniApp 实现兼容 H5 和小程序的拖拽排序组件
  • Django项目入门二
  • ShopXO v2.2.4开源商城手动部署(保姆级)+异常处理
  • 分支语句和循环语句
  • 蓝桥杯刷题--宝石组合
  • 【踩坑】GitHub Actions 运行的 Linux 环境中,文件名是大小写敏感的
  • 基于SpringBoot的“线上考试系统”的设计与实现(源码+数据库+文档+PPT)
  • AWS VPC深度解析:构建安全可靠的云网络基础设施
  • Java中的基本数据类型
  • HarmonyOS:组件布局保存至相册
  • repo安装配置
  • 一文读懂WPF系列之常用控件以及样式
  • Human3.6M 解析3d pose标注 h36m
  • python基础语法13-装饰器