一、概述
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;