Sonarqube 声纳数据库结构是什么?

Sonarqube 声纳数据库结构是什么?,sonarqube,Sonarqube,我试图根据以下因素生成月度报告 LoC(代码行) 规则符合性% 评论% 公开记录的API% 违反安全规定 违规行为(不包括信息) 重复行% 我试图检查sonar数据库中的实体关系,所有表都是独立的。 我不确定应该从哪个表中获取值,以便生成报告 对于下面的提示,将提到查询 提示: 我建议使用来检索统计数据 开发团队故意不记录数据库模式。这使他们能够进行更改,而不会中断相关的报告应用程序。(显然,这不会阻止某人运行SQL查询) 例子 以 “资源”RESTAPI返回您请求的度量的最新值 “time

我试图根据以下因素生成月度报告

  • LoC(代码行)
  • 规则符合性%
  • 评论%
  • 公开记录的API%
  • 违反安全规定
  • 违规行为(不包括信息)
  • 重复行%
  • 我试图检查sonar数据库中的实体关系,所有表都是独立的。 我不确定应该从哪个表中获取值,以便生成报告

    对于下面的提示,将提到查询

    提示:

    我建议使用来检索统计数据

    开发团队故意不记录数据库模式。这使他们能够进行更改,而不会中断相关的报告应用程序。(显然,这不会阻止某人运行SQL查询)


    例子 以

    “资源”RESTAPI返回您请求的度量的最新值

    “timemachine”REST API返回原始CSV数据转储:


    (我的浏览器将方便地启动电子表格以读取CSV数据)

    您可以使用下表获得上述信息

    1) 项目、快照、指标和项目度量。其中项目表包含项目名称。对于每个项目,在快照表中的特定时间段内创建一个快照id。然后从快照表中获取快照id并在度量表中搜索它。并使用度量id搜索descibed属性的值

    select distinct proj.name NAME_OF_PROJ, metric.description Description,
                    projdesc.value, snap.created_at CREATED_DATE
      from projects proj
        inner join snapshots snap on snap.project_id=proj.id 
      inner join (select max(snap2.created_at) as date_of_creation,id from snapshots snap2 
                  where Date(snap2.created_at)   in ('2011-12-20','2012-02-21') 
                   and snap2.project_id  in (5507,35252,9807,38954,23018,32390) 
                  GROUP BY DAY(snap2.created_at),snap2.project_id ) as Lookup on Lookup.id=snap.id 
    
      inner join project_measures projdesc on  projdesc.snapshot_id=snap.id 
      inner join metrics metric on  projdesc.metric_id =metric.id 
      where  metric.id in( 1,2...)
    

    对于您的需求来说,这是不是太过分了?哦,请赞扬人们为帮助您和回答您之前的问题所做的努力。Mark绝对是对的,您不应该直接查询数据库,而应该使用我们提供的Web服务API。如果API不能完全满足您的需要,那么请在用户邮件列表上发送邮件,我们将看到如何改进它。
    select distinct proj.name NAME_OF_PROJ, metric.description Description,
                    projdesc.value, snap.created_at CREATED_DATE
      from projects proj
        inner join snapshots snap on snap.project_id=proj.id 
      inner join (select max(snap2.created_at) as date_of_creation,id from snapshots snap2 
                  where Date(snap2.created_at)   in ('2011-12-20','2012-02-21') 
                   and snap2.project_id  in (5507,35252,9807,38954,23018,32390) 
                  GROUP BY DAY(snap2.created_at),snap2.project_id ) as Lookup on Lookup.id=snap.id 
    
      inner join project_measures projdesc on  projdesc.snapshot_id=snap.id 
      inner join metrics metric on  projdesc.metric_id =metric.id 
      where  metric.id in( 1,2...)