Я определил несколько дней назад, получив ответ на на этот вопрос , два правила, запрещающих использование определенных классов в нашем коде Java. Отправной точкой для их определения был шаблон правила Squid: S3688 («Отслеживание использования запрещенных классов»).
Однако вчера я перенес экземпляр SonarQube 6.7.2, установленный на моем ноутбуке с Windows 10, на самый последний LTS (v6.7.4). Как и было предписано, я установил более новую версию в другую папку, повторно используя существующую базу данных. При осмотре все выглядело нормально.
Моя проблема в том, что веб-интерфейс SonarQube больше не отображает два пользовательских правила. Я думал, что миграция как-то убрала их. Но когда я попытался переопределить первый, я получил это сообщение:
Правило с ключом «NO_APACHE_COMMONS_LOGGING» уже существует.
Я согласен, что правило уже существует: я создал его, как неделю назад. Но я не вижу его в интерфейсе, как бы я его не искал:
- на странице шаблона правила нет списка пользовательских правил, реализующих шаблон правила,
- Я не вижу пользовательского правила при просмотре профиля, используемого моей командой
- Результаты поиска пусты.
Я пошел в базу данных PostgreSQL, чтобы посмотреть, было ли правило в таблице rules и действительно ли оно там, как и другое правило "NO_LOG4J_LOGGING", которое я создал. Все значения в столбцах записи соответствуют тому, что я определил.
Я установил уровни журнала TRACE, надеясь увидеть сгенерированный SQL, но я не многому научился из журналов.
Мой вопрос: нужно ли что-нибудь делать для восстановления / получения пользовательских правил после миграции? Я имею в виду, кроме подделки базы данных.