上一主题: 撤消架构修改下一主题: 如何使用 Web Screen Painter 自定义 Web 界面


在发布之后修改站点定义的列

站点定义的架构修改发布后,WSP 会按照与处理标准架构类似的方式处理它们,并限制做出进一步的更改。 您可以通过手工更新 DBMS 以及 WSP 的外部架构来删除站点定义的列或更改站点定义的字符串列的长度。 然后,运行 pdm_wspupd 脚本来更新数据库 wspcol 表,以使 WSP 与外部变更保持同步。

遵循这些步骤:

  1. 根据您的 CA SDM 配置,登录到以下服务器:
  2. 在您的 CA SDM 安装目录中找到 site/mods 子目录。
  3. 编辑 wsp_schema.sch 文件以删除不需要的站点定义的列,或变更站点定义的 STRING 列的长度。 这些更新是此过程支持的仅有的几项变更。 可以使用任意标准文本编辑器来编辑 wsp_schema.sch 文件。

    重要信息! 如果为要删除的列指定了任何索引选项(如,UNIQUE),则编辑 wsp_index.sch 文件并删除对该列的引用。 如果该列是表中唯一的索引列,请从 wsp_index.sch 中删除对表的所有引用。

  4. 按照对 wsp_schema.sch 所做的相同更改编辑 majic/wsp.mods 文件:
  5. 使用命令提示符输入以下命令:
    pdm_wspupd
    

    pdm_wspupd 脚本读取 wsp_schema.sch 并将其与数据库中的 wspcol 表比较,如果存在差异则向控制台写入一行。 例如,我们来看以下输出:

    PDM_WSPUPD – 通过 wsp_schema.sch 更新 wspcol 表
    
    正在读取 wsp_schema.sch 以获得当前的 DBMS 信息...
    
    正在读取 wspcol 表以获得 WSP 架构信息...
    
    String column zSalesOrg.description length changed from 350 to 400
    
    Column zSalesOrg.sym not found in wsp_schema.sch - deleting wspcol row
    
    pdm_wspupd found 1 WSP-maintained column(s) to update and 1 to delete. Please verify that your DBMS has been manually updated to correspond to wsp_schema.sch, then reply Y to update wspcol or anything else to cancel.
    
  6. 验证 pdm_wspupd 发现的变更与您对 wsp_schema.sch 所做的变更是否完全对应。 如果匹配,则键入 Y 以确认变更。

    在您确认更新后,脚本将使用标准 CA SDM 实用程序来更新 wspcol 表。 然后,架构设计器将显示变更。

  7. 停止 CA SDM 服务器。
  8. 将相应实用工具用于 DBMS,改变所变更列的 DBMS 定义:

    请注意对 DBMS 所做的变更要与对 wsp_schema.sch 所做的变更完全对应。

  9. 删除 wsp_schema.log 文件。
  10. 发布架构修改
  11. 启动 CA SDM 服务器。