Не помню уже по какой причине, но на днях задался целью запустить тестовую копию Compliance Tester’а – https://compliance.conversations.im. Скачал с github’а (на тот момент), поставил maven, собрал по руководству из README. На запуске – ругань на отсутствие таблицы servers в базе. При этом сам файл sqlite-базы создается, но он совершенно пустой. Понятно, надо заполнить сначала схему.
Проблема – схемы нигде нет. Написал автору проекта в приват одной из конференций, но он, как обычно, проигнорировал запрос. Пока ждал ответ – по исходникам восстановил примерную схему базы и тестер даже запустился. Через сутки, правда, выяснилось, что в схеме все же чего-то не хватает – вероятно, UNIQUE-флагов, ибо записи начинали дублироваться при каждом тесте. Параллельно от Daniel’я таки добились хоть какого-то ответа, переадресовав вопрос через человека, имевшего голос в его конференции. Как выяснилось, он вообще считал, что схема должна создаваться в момент запуска, но потом таки вспомнил, что удалил эту функцию, найдя соответствующий коммит. По коммиту на github’e я и восстановил полную схему sqlite-базы.
Sqlite3-схема для Compliance-tester’а
Дальше – веселее. Daniel сдампил схему для MySQL-базы с живого сайта и добавил ее в репозиторий. Добавил на Codeberg. В том же коммите грохнул зависимость от sqlite-библиотеки – т.е., теперь tester собирался без поддержки sqlite-базы и не мог ее использовать. А репозиторий на github’e грохнул полностью – даже не поставив какой-либо редирект.
Ну что ж… Схема уже есть, восстанавливаем поддержку sqlite3: правим файлик caas-web/pom.xml, возвращая блок с указанием sqlite-jdbc в зависимостях.
Запускаем снова mvn package и получаем работающий с Sqlite3 тестер.
Не знаю; возможно на большом количестве серверов и большом архиве исторических данных есть смысл в “большой” базе данных, но все же – зачем выкидывать sqlite3? Пока вопрос без ответа.
Одна мысль про “Восстановление базы для Compliance tester’а”