PowerDesigner应用模型变更至数据库时是否可执行删除表操作?
在PowerDesigner中实现增量更新时的对象清理方案
针对你遇到的「生成数据库时有删除对象选项,但增量更新(应用模型变更)时无此功能」的问题,提供几个实用方案:
手动拆分清理与增量更新脚本
- 打开模型,依次点击「Database」→「Generate Database」
- 在生成窗口勾选「Drop objects before creating」,然后进入「Options」→「Script」,只勾选和DROP相关的选项,生成仅包含删除逻辑的脚本
- 手动编辑脚本,删除那些有数据不能删除的表/对象对应的DROP语句
- 先执行这个清理脚本,再通过「Database」→「Generate Database」选择「Alter existing database」模式生成增量更新脚本并执行
用「Compare and Merge」精准控制变更
- 点击「Tools」→「Compare and Merge」,选择当前模型和目标数据库(通过ODBC连接获取现有库结构)
- 在对比结果面板里,手动勾选需要删除的废弃对象(如旧表、冗余字段),跳过需要保留的表
- 生成并执行对应的变更脚本,既能清理无用对象,又不会影响需要保留的数据
自定义增量更新模板(长期方案)
- 点击「Database」→「Edit Current DBMS」
- 找到「Script」→「SQL」→「Alter」分类下的模板文件,添加类似生成数据库时的DROP对象配置选项
- 保存自定义模板后,后续生成增量脚本时就能直接选择是否清理指定对象
内容的提问来源于stack exchange,提问作者Jonas Menne
相关产品推荐
相关产品推荐

