
Если я вытаскиваю задачу для конкретного проекта, там есть поле под названием «исходная оценка». Единственное место, где я могу найти исходную оценку, — это база данных Tfs_Warehouse в таблице FactWorkItemHistory
под столбцом Microsoft_VSTS_Scheduling_OriginalEstimate
.
Может кто-нибудь объяснить, как работает это значение? Я спрашиваю, потому что оно меняется в таблице FactWorkItemHistory для одной и той же задачи. Есть некоторые положительные и отрицательные записи. Если я суммирую все значения Microsoft_VSTS_Scheduling_OriginalEstimate
по Task и ProjectNodeSK, я получаю сумму, которая отображается в пользовательском интерфейсе задачи TFS. Мне просто интересно, почему значение меняется по записям. На самом деле, мне также было бы любопытно, почему существует несколько записей WorkItem для одной и той же задачи. Я понял (неправильно), что таблица WorkItem будет соответствовать задаче в пользовательском интерфейсе TFS один к одному.
решение1
Хранилище хранит каждую ревизию рабочего элемента, чтобы вы могли запросить значение исходной оценки в определенный момент времени. Вот почему один и тот же рабочий элемент указан несколько раз в нескольких таблицах, включая ту, которую вы используете.
В хранилище также хранится разница между ревизиями, чтобы вы могли делать с ними забавные статистические вещи. Каждый рабочий элемент должен быть представлен в таблице один раз DimWorkItem
. Также есть CurrentWorkItem
таблица для последнего снимка. Каждая *Fact
таблица хранит значения на определенный момент времени. Вы также найдете несколько полезных представлений, включая *WorkItemsAre
и *WorkItemsWere
, первое содержит последний снимок данных и, вероятно, то, что вам нужно. Второе — более стабильное представление таблиц фактов на определенный момент времени.
Более подробную информацию о схеме склада можно найти здесь: