Sybase Powerdesigner - 如何自动格式化PK和FK的命名?

时间:2013-09-01 14:50:08

标签: database database-design sybase powerdesigner

Sybase Powerdesigner - 如何自动格式化PK和FK的命名?

运行脚本以格式化主键和外键

PK_TABLENAME

FK_PARENT_CHILD

示例

PK_Post

FK_Post_Comment

2 个答案:

答案 0 :(得分:0)

以下解决方案很复杂,但也非常灵活/不那么具有侵入性。这将帮助您入门:

在PD模型中,为表或列(或引用)元类对象创建一个新的“使用Autofix选项进行自定义检查”。 (无论您选择哪种。您可以使用嵌套的foreach循环(对于每个表... /每列...)在您的vbscript代码中迭代子对象,如下所示:

单击菜单项模型/扩展模型定义。 点击蓝白色> ===图标。

为您的新“扩展模型定义”命名,例如mysql55定制-001。

可选:单击“导出扩展模型”定义,将其导出为mysql55-custom-001.xem。

单击新扩展模型定义名称旁边的箭头,将其保存到默认子目录。

这是扩展模型对话框: Extended Model Dialog

右键单击“配置文件”,单击“添加元类...”检查列

右键单击,选择“新建...”,单击/选择“自定义检查”。

现在为您的模型添加自定义检查。您必须定义一个检查脚本(在vbscript中)和一个自动修复脚本。

enter image description here

单击“帮助”按钮,单击“定义自定义检查的脚本”。您将找到一个代码示例来帮助您入门。它看起来像这样。但是你需要使用vbscripts低级字符串处理函数来调整代码。

enter image description here

答案 1 :(得分:0)

至少对于Foreign-Key,您可以创建一个Initialize事件处理程序来定义附加表中的名称。在图表中创建参考时它将起作用;也许不是当你通过列表​​创建它时(因为表格还没有附加)。

enter image description here

我作为一个涉及名称冲突的练习离开...

对于主键,您可以在Key元类上使用Validate事件处理程序,并在Key成为Primary时重命名该键(除非其名称已经以“PK”开头)。