背景
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
|