Outil de nettoyage de base de données ?

Discourse dispose-t-il d’un outil de nettoyage de base de données ?

Cet outil supprimerait toute donnée de configuration supplémentaire de la base de données. L’outil supprimerait toutes les colonnes ajoutées, les lignes de configuration et les tables de la base de données qui ne sont pas présentes dans l’installation par défaut de Discourse. L’outil laisserait tout le contenu et les paramètres du site inchangés. L’objectif principal serait de supprimer tous les composants de plugin et de thème de la base de données.

La meilleure solution à laquelle je puisse penser est de configurer une nouvelle instance à partir d’une sauvegarde :slight_smile:

C’est la solution la plus propre que vous obtiendrez tout en conservant les données de votre forum sans beaucoup d’efforts manuels.

Cependant, je crois que les sauvegardes incluront toutes les tables qui existaient dans l’instance à partir de laquelle vous avez sauvegardé et cela peut inclure celles créées par des plugins, même si vous n’avez pas installé le plugin sur la nouvelle instance.

Si vous voulez mettre les mains dans le cambouis, vous pouvez utiliser les tâches rake pour supprimer une base de données et en créer une nouvelle et exécuter toutes les migrations, mais cela supprimera toutes vos données.

C’est pourquoi « installer un nouvel environnement et restaurer une sauvegarde » n’est pas la meilleure solution. Vous avez toujours des restes d’anciens composants et plugins qui traînent dans la base de données.

Il devrait y avoir un outil de dernier recours qui supprime toutes les modifications de composants et de plugins apportées à la base de données, tout en laissant les données et les paramètres du site intacts. Cet outil pourrait être exécuté avant de passer à la nouvelle solution d’installation.

Je soupçonne que ce sera difficile à construire :

  1. certaines migrations sont irréversibles
  2. de nombreuses migrations sont stockées dans des plugins qui ne seront pas là s’ils ne sont pas installés, il n’y a donc rien à inverser.

Mais essayez de le construire et voyez si vous pouvez surmonter ces problèmes.

1 « J'aime »

Donc, en gros, nous n’avons absolument aucun outil pour déplacer uniquement le contenu humain, y compris les catégories et les balises ?

Vous utilisez le terme « migrations ». Que voulez-vous dire par ce terme ?

J’utilise le terme pour désigner la « migration » des données et du contenu des utilisateurs dans un système. Cela ne devrait jamais modifier la structure par défaut de la base de données.

La seule chose qui pourrait modifier une structure de base de données est un plugin. Sauf si Discourse autorise d’autres moyens aux personnes de modifier la structure de la base de données.

1 « J'aime »

Elles se trouvent dans le dossier /db/migrations de Discourse et dans chaque plugin (qui les utilise)

1 « J'aime »