PowerDesigner 创建唯一索引及生成comment

本文将介绍如何在PowerDesigner中为表、列和视图添加注释,并通过反向工程功能生成数据库注释。包括使用注释选项、代码生成过程和相关代码实现细节。

PowerDesigner创建唯一索引 注意key2 不要选中 p





PowerDesigner设计时表显示注释选项: 


选定编辑的表,右键- >Properties- >Columns- >Customize Columns and Filter(或直接用快捷键Ctrl+U)- >Comment(前面打勾)- >OK



方式二:database -generateDatabase









反向工程生成注释


 Option Explicit   
ValidationMode = True   
InteractiveMode = im_Batch   
  
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   
  
'This routine copy name into code for each table, each column and each view   
'of the current folder   
Private sub ProcessFolder(folder)   
  
Dim Tab 'running table   
for each Tab in folder.tables   
if not tab.isShortcut then   
if len(tab.comment) <> 0 then   
tab.name = tab.comment   
end if   
On Error Resume Next   
Dim col 'running column   
for each col in tab.columns   
if len(col.comment) <>0 then   
col.name =col.comment   
end if   
On Error Resume Next   
next   
end if   
next   
end sub  


<think> 我们正在处理用户关于"PowerDesigner从PDM生成MySQL脚本的方法"的查询。根据提供的引用,特别是引用[1]和引用[5],我们可以找到相关的步骤。 引用[1]提到:"PowerDesigner的PDM模块提供了便捷高效的建表脚本生成功能,通过简单的操作和设置,即可自动生成符合多种数据库平台标准的建表脚本。" 引用[5]更具体地描述了如何生成物理数据模型(PDM)以及如何导出MySQL脚本。它提到在CDM转换成PDM后,可以通过选择生成新的物理数据模型或更新现有的物理数据模型来创建PDM,然后就可以生成脚本。 因此,从PDM生成MySQL脚本的一般步骤应该是: 1. 打开PDM文件。 2. 在菜单栏中选择"Database" -> "Generate Database"。 3. 在弹出的对话框中,设置生成选项,包括选择数据库管理系统(DBMS)为MySQL的相应版本。 4. 指定输出脚本文件的路径和名称。 5. 根据需要设置其他选项,例如是否生成删除表的语句、是否生成索引等。 6. 点击确定,生成脚本。 另外,根据引用[3]和[4],我们还可以知道在反向工程中(即从数据库生成PDM)也需要选择MySQL的驱动和版本,但在生成脚本时同样需要确保DBMS选择正确。 所以,我们可以这样回答用户: 在PowerDesigner中,从PDM生成MySQL脚本的步骤如下: 1. 打开已经设计好的PDM文件。 2. 在菜单栏中,选择"Database" -> "Generate Database..."。 3. 在弹出的"Database Generation"对话框中: a. 在"General"选项卡中,设置输出文件路径和名称(Directory和File name)。 b. 在"Options"选项卡中,可以设置各种选项,例如是否生成drop语句、是否生成索引、外键等。 c. 确保"Database"选项卡中的DBMS选择为MySQL的相应版本(如MySQL 5.0)。 4. 点击"确定"按钮,即可生成MySQL的建表脚本。 注意:在生成脚本前,请确保PDM中的模型已经正确设置,并且各个表、字段、约束等都已经设计完整。 根据引用,我们还可以提醒用户: - 如果需要将Name字段的内容复制到Comment(注释)中,可以使用脚本(如引用[2]和[5]提到的),这样生成的脚本中会包含注释。 - 在生成脚本之前,可以通过脚本功能进行一些调整,例如将字段的Name复制到Comment中,这样在生成的脚本里就会有注释。 关于如何设置将Name复制到Comment,可以这样操作(引用[2]和[5]): 在PDM中,选择"Tools" -> "Execute Commands" -> "Edit/Run Script...",然后运行类似如下的VBScript脚本: ```vbscript ' 将每个Table中的Column的Name复制到Comment中 For each tab in ActiveModel.Tables For each col in tab.Columns col.Comment = col.Name Next Next ``` 这样,每个列的注释就会设置为其名称(或者根据需要调整)。然后再生成脚本,脚本中就会包含注释。 因此,完整的步骤包括: 1. 调整模型(可选,如设置注释)。 2. 生成数据库脚本。 最后,生成相关问题: 我们围绕PowerDesigner生成MySQL脚本的可能扩展问题。 </think>根据引用内容,PowerDesigner从PDM生成MySQL脚本的方法如下: ### 生成步骤 1. **打开PDM文件** 在PowerDesigner中打开已设计好的物理数据模型(PDM)文件。 2. **配置数据库类型** - 确保PDM的数据库类型设置为MySQL ```菜单栏 → Database → Change Current DBMS → 选择 MySQL 5.x``` - 若缺少MySQL驱动,需先安装MySQL ODBC驱动(引用[2][3]) 3. **生成脚本** ```菜单栏 → Database → Generate Database...``` - 在弹出窗口中: - **General选项卡**:设置脚本输出路径和文件名 - **Options选项卡**:勾选需要生成的元素(表/索引/外键等) - **Format选项卡**:调整脚本格式(如大小写规则) 4. **关键设置(引用[5])** - 选择`Generate new physical data model`创建新模型 - 或`Update existing physical data model`更新现有模型 - 勾选`Generate Files`生成.sql脚本文件 5. **执行生成** 点击确认后,PowerDesigner会自动生成符合MySQL语法的DDL脚本文件。 ### 实用技巧 1. **字段注释生成** 通过脚本将`Name`属性复制到`Comment`(引用[2][5]): ```vbscript For each col in table.Columns col.Comment = col.Name Next ``` 2. **反向工程补充** 若需从现有MySQL数据库生成PDM(引用[3][4]): ```文件 → Reverse Engineer → Database → 选择MySQL数据源``` 3. **脚本优化** - 在`Preview`选项卡预览脚本语法 - 通过`Database → Edit Current DBMS`自定义模板 > 示例生成的脚本片段: > ```sql > CREATE TABLE `user` ( > `id` INT AUTO_INCREMENT PRIMARY KEY, > `name` VARCHAR(50) COMMENT '用户名' > ) ENGINE=InnoDB; > ``` [^1]: PowerDesigner的PDM模块提供便捷高效的建表脚本生成功能 [^2]: 通过脚本将name属性拷贝到comment的实现方法 [^3]: 反向生成PDM时需要安装ODBC驱动 [^5]: CDM转PDM时的模型生成选项设置
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值