2015-02-06 67 views
2

我知道我不應該直接從SonarQube使用數據庫,但這是一件複雜的事情,並且如果我可以直接從數據庫中直接做到這一點,則可以爲我節省時間。SonarQube不會將所有結果存儲在數據庫中?

我需要知道每個項目的數量,其中行數量少於200.到目前爲止沒有問題在SQL中創建它。

唯一的問題我有:對於2個項目,這些信息根本不存儲在數據庫中!在SonarQube的GUI中,我可以看到每個文件的這個度量,但是在數據庫中這些文件只有1個度量(技術債務)。

我的猜測是,由於一些奇怪的原因,這些措施是爲這個項目實時計算的?那可能嗎?有沒有辦法強制SonarQube存儲數據庫中每個文件的proejct度量值?我嘗試了sonar.analysis.mode =分析參數,但沒有奏效?

非常感謝和問候,

彼得

回答

2

這是由於查詢。這是正確的查詢

SELECT metrics.description, root.name, COUNT(project_measures.metric_id) AS AmountOfFiles, 
    SUM(CASE WHEN project_measures.value < 200 THEN 1 ELSE 0 END) Less200, 
    SUM(CASE WHEN ((project_measures.value >= 200) AND (project_measures.value <= 1000)) THEN 1 ELSE 0 END) Between200And1000, 
    SUM(CASE WHEN project_measures.value > 1000 THEN 1 ELSE 0 END) More1000 
FROM project_measures 
    INNER JOIN metrics on project_measures.metric_id = metrics.id 
    INNER JOIN snapshots on project_measures.snapshot_id = snapshots.id 
    INNER JOIN projects root on snapshots.root_project_id = root.id 
WHERE metrics.id = '1' /*Line: code lines + comments + blanc lines*/ 
     and root.scope = 'PRJ' /*projects*/ 
     and snapshots.scope = 'FIL' 
     and root.name like '%'  /* '%' to show all projects*/ 
     GROUP BY root.name 
0

我有點被你的問題混淆。您是否在說,在使用SQL查詢時,除了兩個項目(其度量標準出現在SonarQube儀表板中)之外,您的結果都是正確的?

我想這個問題不能來自你的SQL查詢? 您最近是否在運行這兩個項目? 請嘗試清除瀏覽器緩存?

問候。

+0

我很確定。這是針對我使用的查詢isntacne(請參閱下方)。 在我做的一系列項目中,這些都是在中間的某個地方。我刪除了它們,再次嘗試,但仍然是同樣的行爲...我重新啓動了筆記本電腦(所有東西都運行在lcoally上),仍然在同一天后 – Pieter 2015-02-10 18:42:19

+0

SELECT metrics.description,root.name,COUNT(project_measures.metric_id)AS AmountOfFiles, SUM(CASE WHERE project_measures.value <200 THEN 1 ELSE 0 END)Less200, SUM(CASE WHEN project_measures.value> 1000 THEN 1 ELSE 0 END)More1000 FROM project_measures INNER JOIN指標project_measures.metric_id = metrics.id INNER JOIN項目在projects.id = project_measures.snapshot_id LEFT JOIN項目根目錄在projects.root_id = root.id WHERE projects.scope ='FIL' and metrics.id ='1'/ *行:代碼行*/ and root.scope ='PRJ'GRO UP BY root.name – Pieter 2015-02-10 18:46:07

+0

問題DID來自SQL查詢: - /查看下面以獲得正確的查詢: – Pieter 2015-04-29 18:34:18

相關問題