单元测试系列之八:Sonar 数据库表关系整理一(续)

更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢!

 

简介:Sonar平台是目前较为流行的静态代码扫描平台,为了便于使用以及自己二次开发,有必要对它的数据库结构进行学习和理解。

如题,目前网络上搜不到相关内容,只能自己慢慢整理,作为资料,以备查询。

 

=========================================================================================

查询某个月被扫描到的最多的规则:
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
 
感谢阅读,作者原创技术文章,转载请注明出处

转载于:https://www.cnblogs.com/zishi/p/7527231.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值