PowerDesigner支持VBScript脚本,帮助生成数据库模型中的对象。具体功能入口在菜单Tools-->Execute Commands-->Edit/Run Script,下面是我写的一个快速生成数据库表的脚本,在我的项目实践中,因为有太多的表要从需求调研报告中提取出来,在PD中一个字段一个字段的输入实在太费劲了,就想了这个办法偷赖。代码如下:
Option Explicit
'-----------------------------------------------------------------------------' Initialization'-----------------------------------------------------------------------------Dim system, fileSet system = CreateObject("Scripting.FileSystemObject")
' Open mode constants...Dim ForReading, ForWriting, ForAppendingForReading = 1 ' Open a file for reading only. You can't write to this file. ForWriting = 2 ' Open a file for writing. ForAppending = 8 ' Open a file and write to the end of the file.
'-----------------------------------------------------------------------------' Main function'-----------------------------------------------------------------------------
Set file = system.OpenTextFile("D:\table.txt", ForReading)Dim noLineDim Tab 'tableValidationMode = TrueDim mdl ' the current modelDim Coldim dm, dmstrDim SSSDim isNewTable' get the current active modelSet mdl = ActiveModel
For each dm in mdl.domains If Not dm.isShortcut Then If dm.code = "dm_pk" Then Exit For End If End If Next For each dmstr in mdl.domains If Not dmstr.isShortcut Then If dmstr.code = "dm_string" Then Exit For End If End If Next
set Tab = mdl.Tables.CreateNewset Col=tab.Columns.CreateNewCol.name = "ID"Col.Code = "ID"col.domain=dmCol.Primary = TrueisNewTable = TrueDo While file.AtEndOfStream <> True SSS = file.ReadLine if isNewTable = True then if SSS <> "" then isNewTable = False tab.name = SSS end if elseif SSS = "" then set Tab = mdl.Tables.CreateNew set Col=tab.Columns.CreateNew Col.name = "ID" Col.Code = "ID" col.domain=dm Col.Primary = True isNewTable = True else set Col=tab.Columns.CreateNew Col.name = SSS col.domain=dmstr end if Loopfile.Close
这样我只要将所需的实段名和表名放在文本文件中,不同的表以空行分开,就可以自动增加表了。
不过生成的字段名都是Column1...ColumnN,然后再一个一个改吧。
转载于:https://www.cnblogs.com/antony1029/archive/2006/02/15/331303.html