如何彻底删除TFS的工作项字段

TFS的工作项字段可以在所有工作项类型之间共享。例如自定义了一个字段“验证迭代”(Mycompany.IterationValidation)那么在需求、Bug中都可以添加这个字段;同样在其他工作项中不能再定义一个同名的新的字段“验证迭代”。一旦已经定义并在TFS的工作项中使用了字段,这个字段便会被TFS定义到了数据库的结构中,不能随意删除。即使管理员在工作项定义中删除了该字段,与这个字段相关的数据和结果都还保留在数中,你会发现当你重新将这个字段添加回工作项中时,原来的数据还存在。

当你需要重新命名一个字段时,则需要我们彻底删除工作项字段,然后再重新创建这个同名的字段。

那么如何彻底的删除TFS的工作项字段呢,这里必须使用TFS的工作项命令工具Witadmin.exe。由于彻底删除工作项字段会永久删除这个字段保存的信息,因此我们一般需要通过以下几个步骤,确保安全删除。

1. 查询字段被哪些工作项使用了

witadmin listfields /collection:http://tfs2015cn:8080/tfs/defaultcollection /n:Mycompany.IterationValidation

如何彻底删除TFS的工作项字段_第1张图片

上面的命令查询出来了字段被引用的工作项类型和团队项目

2. 通过TFS Power Tools 或者命令方式从TFS工作项中删除这个字段。注意,如果页面中显示了字段,也需要一并删除。

如何彻底删除TFS的工作项字段_第2张图片

3. 重新运行上面的命令,确保没有工作项引用的该字段,如下图:

如何彻底删除TFS的工作项字段_第3张图片

我们会发现,即使删除了这个字段,但是在工作项查询中还是看到之前存储的数据,如下图:

如何彻底删除TFS的工作项字段_第4张图片

4. 下面我们就可以彻底删除这个字段了

witadmin deletefield /collection:http://tfs2015cn:8080/tfs/defaultcollection /n:Mycompany.IterationValidation
如何彻底删除TFS的工作项字段_第5张图片

此时刷新查询,你会发现系统提示字段不存在的错误信息,如下图

如何彻底删除TFS的工作项字段_第6张图片

通过上面的操作,我们已经从TFS中永久性的删除了这个字段。如果我们使用之前备份的工作项定义XML文件,导入到系统中,会发现字段已经重新创建,但是数据已经永久性被删除了。

我们可以通过上面的方法实现字段的删除、更名、更改字段类型等用途。

 

http://www.cnblogs.com/danzhang/  ALM MVP 张洪君

你可能感兴趣的:(如何彻底删除TFS的工作项字段)