一、概述
sonar9.3版本表结构
projects:项目表
project_branchs: 项目分支表
metrics:软件度量指标表 (-- 3代码行数 20复杂度 90代码重复度 112技术债务占比 92遗留违规总数 93阻断 94严重 95主要 -- 29单元测试数 34单元测试成功率 31单元测试错误数 36覆盖率 42代码覆盖率 49分支覆盖 108技术债务总量)
project_measures : 项目与度量指标表的关系表,一个项目具体指标的值存储在此表
snapshots: 快照表,每执行分析一次,都会在快照表插入一条记录
二、项目表-projects
字段含义:
字段 | 含义 |
name | 名称 |
description | 描述 |
enable | 启动 |
scope | 作用域:PRJ-项目或模块,DIR-目录,FIL-文件 |
kee | 项目简称:sonar扫描结果链接的id对应的值,对应传参projectKey |
name | 名称 |
creatd_at | 创建时间 |
update_at | 更新时间 |
uuid | 通用唯一值 |
三、项目分支表:project_branchs
字段含义:
字段 | 含义 |
uuid | 通用唯一值 |
project_uuid | 项目uuid |
kee | 分支名(不同项目的多个分支) |
branch_type | 分支类型(BRANCH or PULL_REQUEST) |
creatd_at | 创建时间 |
update_at | 更新时间 |
四、软件度量指标表-metrics
字段 | 含义 |
uuid | 通用唯一值 |
name | 软件度量指标名称 |
domain | 域名称(Documentation、Coverage、Size、Complexity、Duplications、Issues、Maintainability、Reliability、Security、SecurityReview、General、SCM) |
description | 描述 |
short_name | 短名称 |
val_type | 值类型 |
enable | 是否启用 |
id的值 | 质量数据分析的维度 |
3 | 代码总行数(没有注释的代码行) |
20 | 代码复杂度 |
90 | 代码重复度% |
112 | 异味 |
113 | 新异味 |
114 | bug |
115 | 新bug |
116 | 漏洞 |
117 | 新漏洞 |
95 | 问题总数(单位:个) |
96 | 问题:阻断 |
97 | 问题:严重 |
98 | 问题:主要 |
29 | 单元测试用例数量 |
31 | 单元测试错误数量 |
33 | 单元测试失败数量 |
34 | 单元测试成功率 |
36 | 单元测试覆盖率 |
42 | 单元测试行覆盖率 |
49 | 单元测试条件覆盖率 |
五、项目度量表-projects_measures
字段含义:
字段 | 含义 |
uuid | 通用唯一值 |
vaule | 指标值 |
analysis_uuid | 分析UUID:对应snapshots.uuid |
component_uuid | 组件UUID:对应projects.uuid |
metric_uuid | 软件度量id:对应metrics.id |
六、数据查询
查询所有分支的代码行统计
select pp.*,pm.value from (select pb.uuid as p_uuid,p.uuid as project_id,p.name as p_name,pb.kee as p_branch from projects p,project_branches pb where p.uuid=pb.project_uuid) pp,project_measures pm where pp.p_uuid=pm.component_uuid and pm.metric_uuid='AX-SERAI9HooZL_HyMBq' order by pp.project_id,pp.p_branch;