背景
SonarQube在代码的质量管理中使用率非常高。在进行表结构分析时,发现现有的资料中大多数为老版本,且新版本与老版本之间的表字段有不少变动。 记录下7.6版本对应的数据库的字段含义,同时写一下查看单元测试和sonar扫描结果的SQL。 SonarQube版本:7.6
SonarQube表简析
项目表-projects
字段 | 含义 |
---|
name | 名称 | description | 描述 | enable | 启动 | scope | 作用域:PRJ-项目或模块,DIR-目录,FIL-文件 | kee | 项目简称:sonar扫描结果链接的id对应的值 | long_name | 长名称 | creatd_at | 创建时间 | uuid | 通用唯一值 |
快照表-snapshots
字段 | 含义 |
---|
status | 状态: | islast | 最新一条记录 : 1-最新,0-历史 | version | 分支 | component_uuid | 组件UUID:对应projects.uuid | uuid | 通用唯一值 |
软件度量表-metrics
字段 | 含义 |
---|
id | 自增主键 | name | 名称 | description | 描述:质量数据分析的维度 | short_name | 简称 |
id的值 | 质量数据分析的维度 |
---|
3 | 代码总行数(没有注释的代码行) | 20 | 代码复杂度 | 90 | 代码重复度% | 112 | 异味 | 113 | 新异味 | 114 | bug | 115 | 新bug | 116 | 漏洞 | 117 | 新漏洞 | 95 | 问题总数(单位:个) | 96 | 问题:阻断 | 97 | 问题:严重 | 98 | 问题:主要 | 29 | 单元测试用例数量 | 31 | 单元测试错误数量 | 33 | 单元测试失败数量 | 34 | 单元测试成功率 | 36 | 单元测试覆盖率 | 42 | 单元测试行覆盖率 | 49 | 单元测试条件覆盖率 |
项目度量表-project_measures
字段 | 含义 |
---|
metirc_id | 软件度量id:对应metrics.id | component_uuid | 组件UUID:对应projects.uuid | analysis_uuid | 分析UUID:对应snapshots.uuid |
单元测试和sonar扫描结果SQL
查询项目表UUID
根据项目简称获取
SELECT uuid from projects where scope = 'PRJ' and kee = '项目简称';
查询快照表中最新的一条数据
根据项目UUID获取
SELECT uuid from snapshots where component_uuid = '项目表中获取的UUID' and islast = '1';
查询快照表中的数据
根据项目表的UUID(project_measures.component_uuid)、软件度量表的UUID(project_measures.analysis_uuid)、度量表的ID(project_measures.metric_id)
SELECT * from project_measures where component_uuid = '项目表的UUID' and analysis_uuid = '软件度量表的UUID' and metric_id = '度量表的ID' ORDER BY metric_id
|