【问题标题】:TFS 2012 Discussion UsersTFS 2012 讨论用户
【发布时间】:2021-08-24 20:28:44
【问题描述】:

我可以在 TFS 数据库中的哪里找到输入了此处所示讨论项的用户?我在 WorkItemLongTexts 表中找到了讨论项的位置,并且在 Constants 表中看到了用户数据的位置,但我没有看到将两者联系在一起的表或视图。

【问题讨论】:

  • 您应该永远直接针对 TFS 操作存储数据库编写查询。
  • @DanielMann 这正是我多年前告诉我的组织的内容,但我仍然在这里。我是一个问题解决者——不是一个哭闹的婴儿,你的意见真的没有帮助。

标签: tfs tfs-2012


【解决方案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

【讨论】:

    猜你喜欢
    • 2019-04-03
    • 2018-12-23
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 2019-10-16
    相关资源
    最近更新 更多