You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IBM DOORS 9.6客户端现有链接链的link module批量更新问题

IBM DOORS 9.6 存量跨模块链接批量迁移操作方案

操作前准备

  • 操作前务必对模块A、模块B、旧错误Link Module、新正确Link Module做全量备份,避免操作失误导致数据丢失
  • 确保你拥有所有涉及模块的编辑、修改权限
  • 确认新Link Module中已经提前创建好以模块A为源、模块B为目标的链接集,链接集配置符合业务要求

方案1:图形界面手动迁移(适用于存量链接数<100的场景)

  • 打开模块A,在顶部菜单栏选择Tools > Links > Link Manager
  • 设置筛选条件:源模块为当前模块A、目标模块为模块B、关联Link Module为旧错误Link Module,筛选出所有需要迁移的存量链接
  • 全选所有筛选结果,右键点击Copy
  • 保持Link Manager打开状态,将Link Module切换为新的正确Link Module,右键点击Paste
  • 切换回旧Link Module的筛选结果页,全选所有链接后点击Delete,确认删除旧链接即可完成迁移

方案2:DXL脚本批量迁移(适用于存量链接数较多的场景)

执行脚本前请先在测试环境验证逻辑,确认无误后再在生产环境运行,脚本示例如下:

// 请修改下方参数为你实际环境的模块绝对路径
string srcModulePath = "/项目根目录/子目录/模块A"
string tgtModulePath = "/项目根目录/子目录/模块B"
string oldLinkModPath = "/项目根目录/子目录/错误的Link Module"
string newLinkModPath = "/项目根目录/子目录/正确的Link Module"
string targetLinkSetName = "模块A至模块B关联" // 与新Link Module中提前配置的链接集名称完全一致

Module srcMod = read(srcModulePath, false, true)
Module tgtMod = read(tgtModulePath, false, true)
LinkModule oldLm = read(oldLinkModPath, false, true)
LinkModule newLm = read(newLinkModPath, true, true)

Link lnk
Object srcObj, tgtObj
// 遍历旧Link Module中模块A的所有出向链接
for lnk in all(srcMod -> oldLm) do {
    // 仅处理目标为模块B的链接
    if (fullName(module(lnk.target)) == tgtModulePath) {
        srcObj = source lnk
        tgtObj = target lnk
        // 在新Link Module创建相同关联
        create(newLm, targetLinkSetName, srcObj, tgtObj)
        // 删除旧Link Module中的原链接
        delete lnk
    }
}

// 保存所有变更并关闭模块
save srcMod
save tgtMod
save newLm
close srcMod
close tgtMod
close oldLm
close newLm

print "迁移任务执行完成,请检查新Link Module中的链接完整性"

脚本注意事项

  • 脚本中所有路径需与DOORS项目浏览器中的绝对路径完全匹配,路径区分大小写
  • 若你的链接配置了自定义属性,需要在create语句中补充自定义属性的赋值逻辑,避免属性值丢失
  • 迁移完成后建议导出新Link Module的链接清单,与旧Link Module备份的清单做逐一比对,确认无遗漏、无错误

内容的提问来源于stack exchange,提问作者peetman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 07:57:04