声纳数据迁移后数据库归类更改

时间:2016-05-31 12:31:31

标签: sonarqube sonarqube5.3 sonarqube-ops

需要知道如何在更改数据库归类更改后迁移数据。基本上,以下就是我的计划。

  1. 使用新的排序规则获取新数据库,这是Sonar(Latin1_General_CS_AS)的要求。我们现有数据库的排序规则是 - Latin1_General_CI_AS
  2. 设置Sonar服务并使用新的排序规则指向新数据库。这将在数​​据库上创建Sonar所需的新表。
  3. 将数据从旧数据库迁移到新数据库,而不更改归类。
  4. 我可以使用SELECT INSERT导入数据但是我遇到了Sonar服务没有开始发布的问题。(SonarQube service not starting

    我们不得不截断并删除表并重新创建它们。有人可以建议我们如何迁移数据吗?

    我知道Sonar DB复制工具,但我相信这只适用于企业版。 (http://docs.sonarqube.org/display/SONAR/Sonar+DB+Copy+Tool

1 个答案:

答案 0 :(得分:1)

此解决方案可能会为您提供帮助。基本上,它使用简单的脚本在数据库和/或DBMS之间导出信息。 顺便说一句,如果目标中已经存在项目,它将避免重复。

https://github.com/awltech/sonar-data-migrator

要使用,请按照以下步骤操作。

  • 下载(或克隆)git项目
  • 在项目上运行maven install,它将在下面创建bineries zip target / assemly文件夹。
  • 从您可以访问两个声纳的机器上提取拉链 服务器数据库。
  • 使用相同的代码对源声纳和目标声纳进行声纳分析。
  • 在database.properties文件中配置源和目标db详细信息
  • 在目标声纳数据库上运行init.sql,它将创建临时表以 存储迁移的数据详细信息
  • 在script.bat文件中设置正确的Java路径(您可以将script.sh用于 在Linux上执行)。

用法

  • 运行bat / sh脚本,将传递用户的参数作为迁移的参数 用户
  • 运行bat / sh脚本,将数据作为第一个参数和项目键传递 根据声纳报告中的“键”值作为第二个参数。如果键不是 通过,它将适用于db中的所有项目。

此脚本将迁移以下内容:

  • 用户(默认的声纳用户角色分配给所有迁移的用户)
  • 与项目相关的行动计划
  • 所有问题的更改,例如受让人,严重性,状态,行动计划和 分辨率
  • 已添加到问题的所有评论/评论
  • 所有假阳性数据

我的迁移与您的迁移类似(PostGre中有两个数据库),一步一步工作了! :)