【发布时间】:2020-07-17 19:30:24
【问题描述】:
我正在尝试为存储在 TFS_warehouse (TFS 2012) 中的故事构建 SQL 查询。我想要的是一个简单的故事列表,包括基本元素,如 ID、标题和描述。但是我无法在仓库中找到描述 - 谁能告诉我存储它的列和表的名称?
【问题讨论】:
标签: sql tfs tfs-warehouse
我正在尝试为存储在 TFS_warehouse (TFS 2012) 中的故事构建 SQL 查询。我想要的是一个简单的故事列表,包括基本元素,如 ID、标题和描述。但是我无法在仓库中找到描述 - 谁能告诉我存储它的列和表的名称?
【问题讨论】:
标签: sql tfs tfs-warehouse
实际表位于 TFS_[Collection] 数据库的 WorkItemsAre 和 WorkItemsLatest 表中。
其中 [Collection] 是集合的名称。
所有 TFS_[Collection] 数据库都汇总到 TFS_Warehouse 数据库中。
【讨论】:
以下请求将为您提供所有工作项及其最后描述和最后评论:
select
WIL.ID,
WAO.[System.WorkItemType],
WIL.[Created Date],
WAO.[System.CreatedBy],
WAO.[System.AssignedTo],
WIL.[Changed Date],
WAO.[System.ChangedBy],
WAO.[System.State],
WAO.[System.Reason],
WAO.[System.Title],
(select top 1 left(REPLACE(REPLACE(replace(Words, ',', '\,'), CHAR(13), ' '), CHAR(10), ' '), 32000) from [dbo].[WorkItemLongTexts] where ID = WIL.ID and FldID = 52 order by AddedDate desc) [Description],
(select top 1 left(REPLACE(REPLACE(replace(Words, ',', '\,'), CHAR(13), ' '), CHAR(10), ' '), 32000) from [dbo].[WorkItemLongTexts] where ID = WIL.ID and FldID = 54 order by AddedDate desc) [LastComment]
from
[dbo].[WorkItemsLatest] WIL
inner join [dbo].[WorkItemsAsOf] WAO on WAO.[System.Id] = WIL.ID AND WAO.[System.Rev] = WIL.Rev
where
WAO.[System.TeamProject] = @ProjectName
order by
WIL.[Created Date] ASC
您必须在 Tfs_XXXCollection 数据库上执行此操作。
要检查您的 FieldId 是否正确,只需执行
select * from fields where [name] in ('Description','History')
如果您愿意,您可以轻松获得完整的历史记录,但通常这足以让您继续前进。
【讨论】: