2017-08-14 2 views
0

Nous utilisons SonarQube 5.6.6 pour exécuter un conteneur docker connecté à une base de données mysql. Nous avons configuré les paramètres par défaut dans le nettoyeur de base de données. Cependant, nous avons récemment découvert que la base de données n'est pas nettoyée.Nettoyage de la base de données Sonar

Je ne trouve aucune entrée de journal liée au nettoyeur de base de données. Donc, je ne peux pas comprendre ce qui ne va pas.

Voici notre taille actuelle base de données

MySQL [sonar]> SELECT table_schema "DB Name", Round(Sum(data_length + index_length)/1024/1024, 1) "DB Size in MB" FROM information_schema.tables GROUP BY table_schema; 

+--------------------+---------------+ 
| DB Name   | DB Size in MB | 
+--------------------+---------------+ 
| information_schema |   0.2 | 
| sonar    |  28842.6 | 
+--------------------+---------------+ 

MySQL [sonar]> SELECT 
    ->  table_name AS `Table`, 
    ->  round(((data_length + index_length)/1024/1024), 2) `Size in MB` 
    -> FROM information_schema.TABLES 
    -> WHERE table_schema = 'sonar' 
    -> ; 
+---------------------------+------------+ 
| Table      | Size in MB | 
+---------------------------+------------+ 
| active_dashboards   |  0.05 | 
| active_rule_parameters |  0.08 | 
| active_rules    |  0.34 | 
| activities    |  5.03 | 
| authors     |  0.03 | 
| ce_activity    |  2.06 | 
| ce_queue     |  0.05 | 
| dashboards    |  0.02 | 
| duplications_index  |  14.55 | 
| events     |  23.58 | 
| file_sources    | 11902.03 | 
| group_roles    |  0.20 | 
| groups     |  0.02 | 
| groups_users    |  0.06 | 
| issue_changes    |  24.53 | 
| issue_filter_favourites |  0.03 | 
| issue_filters    |  0.03 | 
| issues     |  451.50 | 
| loaded_templates   |  0.02 | 
| manual_measures   |  0.03 | 
| measure_filter_favourites |  0.03 | 
| measure_filters   |  0.03 | 
| metrics     |  0.08 | 
| notifications    |  0.02 | 
| perm_templates_groups  |  0.02 | 
| perm_templates_users  |  0.02 | 
| permission_templates  |  0.02 | 
| project_links    |  0.31 | 
| project_measures   | 11123.83 | 
| project_qprofiles   |  0.03 | 
| projects     | 1804.22 | 
| properties    |  0.03 | 
| quality_gate_conditions |  0.02 | 
| quality_gates    |  0.03 | 
| resource_index   | 3049.98 | 
| rules      |  3.72 | 
| rules_parameters   |  0.17 | 
| rules_profiles   |  0.03 | 
| schema_migrations   |  0.02 | 
| snapshots     |  435.53 | 
| user_roles    |  0.05 | 
| user_tokens    |  0.05 | 
| users      |  0.11 | 
| widget_properties   |  0.03 | 
| widgets     |  0.05 | 
+---------------------------+------------+ 
45 rows in set (0.00 sec) 

Comment puis-je nettoyer manuellement la base de données? Merci d'avance pour tout conseil.

+0

Qu'espérez-vous être nettoyé ce n'est pas. Veuillez être plus précis que "pas du tout nettoyé". –

+0

Je m'attends à ce que la base de données ne soit pas de taille 28 Gigabit pour une base de code de quelques centaines de Mo. Cela rend difficile pour nous de dimensionner notre base de données infra. Plus précisément, que contiennent ces tables? file_sources & project_measures. Ils contiennent respectivement 1,3 et 63 millions de lignes. Je voudrais les nettoyer manuellement si possible. –

Répondre

0

Je pense que pour les propriétés du nettoyeur de base de données ne fonctionne que lorsque les projets sont analysés à nouveau i.e db est nettoyé pour le projet particulier selon les propriétés uniquement lors de l'analyse du sonar suivant.

Assurez-vous de vérifier la suppression des instantanés pour le projet qui est analysé à nouveau. Pourquoi n'essayez-vous pas d'utiliser Sonarqube Rest api pour supprimer des projets qui nettoient votre base de données en interne.

sonarqube Api pour supprimer des projets: (POST)/api/projets/supprimer Paramètres à cette api: 1) clé: projet clé 2) id: id projet