单元测试系列之八: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特性详解

相关文章
相关标签/搜索