SonarQube迁移后如何还原自定义规则

时间:2018-06-28 14:13:23

标签: sonarqube

几天前,我收到this question的答案后,已经定义了两个规则,用于禁止在Java代码中使用特定的类。定义它们的起点是Squid:S3688规则模板(“跟踪禁止类的使用”)。

但是,我昨天已经将Windows 10笔记本电脑上安装的SonarQube 6.7.2实例迁移到了最新的LTS(v6.7.4)。按照规定,我在重新使用现有数据库时将新版本安装在另一个文件夹中。经检查,一切看起来都很好。

我的问题是SonarQube的Web UI不再显示两个自定义规则。我认为迁移已以某种方式将其删除。但是当我尝试重新定义第一个消息时,我收到了以下消息:

  

具有键“ NO_APACHE_COMMONS_LOGGING”的规则已经存在。

我同意该规则已经存在:我像一周前一样创建了它。但是无论如何搜索,我都不会在UI中看到它:

  • 规则模板的页面未列出实现规则模板的任何自定义规则,
  • 在查看团队使用的个人资料时,我没有看到自定义规则
  • 搜索结果为空。

我去了PostgreSQL数据库,看看规则是否在 rules 表中,并且确实存在,就像我创建的另一个规则“ NO_LOG4J_LOGGING”一样。记录的列中的所有值都与我定义的一致。

我已将日志级别设置为TRACE,希望查看生成的SQL,但是我从日志中学不到的东西。

我的问题:在迁移后是否有什么事情可以恢复/检索自定义规则?我的意思是,除了篡改数据库之外。

0 个答案:

没有答案