上一主题: 从测试到生产的迁移

下一主题: Web 界面自定义

发布后,变更或删除站点定义的列

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

遵循这些步骤:

注意:在此过程中,您可以使用任何标准文本编辑器来编辑 wsp_schema.sch 文件。

  1. 在您的 CA SDM 安装目录中找到 site/mods (UNIX) 或 site\mods (Windows) 子目录。
  2. 编辑 wsp_schema.sch 文件以删除不需要的站点定义的列,或变更站点定义的 STRING 列的长度。 这些更新是此过程支持的仅有的几项变更。

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

  3. 按照对 wsp_schema.sch 进行的相同变更编辑文件 majic/wsp.mods (UNIX) 或 majic\wsp.mods (Windows):
  4. 打开一个命令窗口并发布命令:
    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.
    
  5. 验证 pdm_wspupd 发现的变更与您对 wsp_schema.sch 所做的变更是否完全对应。 如果匹配,则键入 Y 以确认变更。

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

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

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

  8. 删除 wsp_schema.log 文件。
  9. 运行 pdm_publish
  10. 启动 CA SDM 服务。