單元測試系列之八:Sonar 數據庫表關係整理一(續)

更多原創測試技術文章同步更新到微信公衆號 :三國測,敬請掃碼關注我的的微信號,感謝!html

 

簡介:Sonar平臺是目前較爲流行的靜態代碼掃描平臺,爲了便於使用以及本身二次開發,有必要對它的數據庫結構進行學習和理解。java

如題,目前網絡上搜不到相關內容,只能本身慢慢整理,做爲資料,以備查詢。數據庫

 

=========================================================================================微信

查詢某個月被掃描到的最多的規則:
SELECT i.rule_id,r.name AS rulename,COUNT(*) AS COUNT,FROM_UNIXTIME(i.created_at/1000) AS createtime,
r.Priority,i.severity,r.plugin_name FROM issues i
,rules r WHERE i.rule_id = r.id AND FROM_UNIXTIME(i.created_at/1000) <'2017-09-01' AND FROM_UNIXTIME(i.created_at/1000)> '2017-08-01'
GROUP BY i.rule_id ORDER BY COUNT DESC
=========================================================================================
查詢全部項目:
SELECT NAME FROM projects WHERE scope='PRJ'
=========================================================================================
查詢當月全部問題以及對應的項目名、做者、rule id、嚴重級別等信息:
SELECT p.name AS projectname,i.rule_id,i.message,i.author_login,FROM_UNIXTIME(i.created_at/1000) AS createtime,
i.severity FROM issues i,projects p
WHERE p.project_uuid=i.project_uuid AND p.scope='PRJ'
AND FROM_UNIXTIME(i.created_at/1000) <'2017-09-01' AND FROM_UNIXTIME(i.created_at/1000)> '2017-08-01'
ORDER BY rule_id DESC
=========================================================================================
根據profile_id查詢當前正在使用的全部rule id(profile_id是當前使用的配置文件id)
SELECT rule_id FROM active_rules WHERE profile_id = '13'
=========================================================================================
查詢當前默認使用的java規則的全部rule id:
SELECT rule_id FROM active_rules a, rules_profiles r WHERE a.profile_id = r.id AND r.is_default=1 AND r.LANGUAGE='java'
 
查詢當前當前默認使用的java規則的id、name、priority、description:
SELECT a.rule_id ,b.name,b.priority,b.description
FROM active_rules a, rules_profiles r,rules b
WHERE a.profile_id = r.id AND r.is_default=1 AND r.LANGUAGE='java' AND a.rule_id=b.id
 
查詢當前當前默認使用的java規則的id、name、type、severity、description:
SELECT a.rule_id ,b.name,
CASE b.rule_type
WHEN '1' THEN 'CODE SMELL' WHEN '2' THEN 'BUG' WHEN '3' THEN 'Vulnerability' ELSE 'Other' END AS TYPE,
CASE a.failure_level
WHEN '0' THEN 'INFO' WHEN '1' THEN 'MINOR' WHEN '2' THEN 'MAJOR' WHEN '3' THEN 'CRITICAL' ELSE 'BLOCKER' END AS severity,
b.description
FROM active_rules a, rules_profiles r,rules b
WHERE a.profile_id = r.id AND r.is_default=1 AND r.LANGUAGE='java' AND a.rule_id=b.id
 
感謝閱讀,做者原創技術文章,轉載請註明出處
 

其餘推薦相關閱讀:網絡

 

單元測試系列之一:如何使用JUnit、JaCoCo和EclEmma提升單元測試覆蓋率

 

測試系列之二:Mock工具Jmockit實戰工具

 

單元測試系列之三:JUnit單元測試規範post

 

單元測試系列之四:Sonar平臺中項目主要指標以及代碼壞味道詳解單元測試

 

單元測試系列之五:Mock工具之Mockito實戰學習

 

單元測試系列之六:JUnit5 技術前瞻測試

 

單元測試系列之七:Sonar 數據庫表關係整理一(rule相關)

 

單元測試系列之八:Sonar 數據庫表關係整理一(續)

 

單元測試系列之九:Sonar 經常使用代碼規則整理(一)

 

單元測試系列之十:Sonar 經常使用代碼規則整理(二)

 

單元測試系列之十一:Jmockit之mock特性詳解

相關文章
相關標籤/搜索