우리 릴리스에서는 때때로 프로덕션 db에서 스크립트를 실행해야합니다. 표준은 db에서 스크립트를 실행해야하는 경우 .sql 파일을 작업 항목에 첨부하는 것이 었습니다.특정 유형의 첨부 파일이 포함 된 작업 항목에 대한 쿼리
.sql 파일 인 첨부 파일이 포함 된 작업 항목을 쿼리 할 수있는 방법이 있습니까? 릴리스를 푸시해야 할 때마다 첨부 파일을 확인하기 위해 각 작업 항목을 열지 않아도됩니다.
우리 릴리스에서는 때때로 프로덕션 db에서 스크립트를 실행해야합니다. 표준은 db에서 스크립트를 실행해야하는 경우 .sql 파일을 작업 항목에 첨부하는 것이 었습니다.특정 유형의 첨부 파일이 포함 된 작업 항목에 대한 쿼리
.sql 파일 인 첨부 파일이 포함 된 작업 항목을 쿼리 할 수있는 방법이 있습니까? 릴리스를 푸시해야 할 때마다 첨부 파일을 확인하기 위해 각 작업 항목을 열지 않아도됩니다.
이 방법은 TfsWorkItemTracking
데이터베이스를 직접 쿼리하여 수행했습니다. Fld10005
은 TFS의 다른 인스턴스에서 같을 수도 있고 그렇지 않을 수도 있습니다. 필드는 dbo.Fields
테이블에서 찾을 수 있습니다.
with [project-nodes] (
ID,
[Name],
[Path],
[Depth])
as (
select
t.ID,
t.Name,
cast(t.Name as varchar(max)) as [Path],
0 as [Depth]
from dbo.TreeNodes t
where t.ID = 220
union all
select
c.ID,
c.Name,
cast(p.[Path] + '/' + c.Name as varchar(max)),
[Depth] + 1
from dbo.TreeNodes c
inner join [project-nodes] p
on c.ParentID = p.ID)
select
t.[Path] as [Area Path],
l.Title,
l.Fld10005 as [Resolved Date],
f.OriginalName
from dbo.WorkItemsLatest l
inner join [project-nodes] t
on l.AreaID = t.ID
inner join dbo.WorkItemFiles f
on l.ID = f.ID
where f.OriginalName like '%.sql'
and l.Fld10005 > '2010-05-21' -- ResolvedDate
order by
t.Name
WIQL을 통해이 작업을 수행 할 수 있지만 성능을 어느 정도 유지하는 또 다른 방법은 이러한 작업에 사용할 사용자 지정 작업 항목 형식을 만드는 것입니다. 당신이 당신의 WIQL 쿼리를 설정 한 경우 그 다음, 할 수
(반 의사)
SELECT Id from WorkItems where
WorkItemType = 'MySpecialWorkItem' AND
Status = 'Active';
당신은 다음을 통해 반복하고 첨부 된 SQL 파일을 확인할 수 있습니다. WorkItemType 및 Status 조건을 사용하면 반환되는 레코드의 수를 크게 제한해야하며, 첨부 파일을 반복하면 프로세스 성능에 큰 영향을 미치지 않습니다.
그건 나쁜 제안이 아니에요, 나는 그 팀에 의해 실행해야합니다. – Dave
"query"는 WIQL 쿼리 또는 데이터베이스에 대한 SQL 쿼리를 의미합니까? – Robaticus
나는 전자를 선호 하겠지만 후자는 충분할 것이다. 나는 내가 어떻게 후자를 할 수 있을지를 조사하고 있었다. – Dave