TFS 2012 讨论用户
Posted
技术标签:
【中文标题】TFS 2012 讨论用户【英文标题】:TFS 2012 Discussion Users 【发布时间】:2021-08-24 20:28:44 【问题描述】:我可以在 TFS 数据库中的哪里找到输入了此处所示讨论项的用户?我在 WorkItemLongTexts 表中找到了讨论项的位置,并且在 Constants 表中看到了用户数据的位置,但我没有看到将两者联系在一起的表或视图。
【问题讨论】:
您应该永远直接针对 TFS 操作存储数据库编写查询。 @DanielMann 这正是我多年前告诉我的组织的内容,但我仍然在这里。我是一个问题解决者——不是一个哭闹的婴儿,你的意见真的没有帮助。 【参考方案1】:我终于弄清楚了讨论/cmets 用户和时间戳是如何存储在 TFS 数据库中的。这是一个愚蠢的设计。您必须联合 WorkItemsWere 和 WorkItemsAre 表并加入 WorkItemLongTexts。我探索了“Change Order”和“Rev”列来进行 JOIN,但没有任何意义。相反,您必须在 DATETIMES 之前加入。我通常不会提倡像这样加入,但这是我让它发挥作用的唯一方法。最后,我能够提取所有数据,完成转换并最终将 TFS 置于床上。
如果您有兴趣,可以在这里查询...
WITH WorkItems AS (
SELECT ID, PersonId, [Changed Date]
FROM WorkItemsAre
UNION
SELECT ID, PersonId, [Changed Date]
FROM WorkItemsWere
), Discussion AS (
SELECT *
FROM WorkItemLongTexts
WHERE FldID = 54
)
SELECT w.ID, PersonId, NamePart, d.AddedDate, Words
FROM Discussion d
INNER JOIN WorkItems w
ON d.ID = w.ID
AND d.AddedDate = w.[Changed Date]
LEFT OUTER JOIN Constants c
ON w.PersonId = c.ConstID
ORDER BY w.ID, d.AddedDate
【讨论】:
以上是关于TFS 2012 讨论用户的主要内容,如果未能解决你的问题,请参考以下文章