Bonjour ! J’ai l’intention de déplacer ma communauté, qui est sur Discourse, vers une autre plateforme. Comment puis-je exporter le contenu et les utilisateurs dans un fichier SQL ?
Salut ![]()
Faites simplement une sauvegarde depuis votre panneau d’administration. Tout y est.
Par curiosité, êtes-vous prêt à partager pourquoi vous quittez Discourse ?
@Canapin Merci beaucoup pour votre aide ! Juste pour confirmer la procédure : dans le panneau d’administration, j’ouvre la section de sauvegarde et je télécharge simplement celle du dernier jour, c’est bien ça ?
Oui, exactement. L’archive doit contenir la sauvegarde SQL ainsi que les téléchargements.
Pour plus de sécurité, vous pouvez également faire une sauvegarde d’abord, puis télécharger la sauvegarde la plus récente.
Salut @Gabriel_Fernando_Mar,
Après avoir examiné plus attentivement votre capture d’écran, il semble qu’elle ne contienne que la base de données, et non les téléversements. Nous pouvons le constater avec la partie du nom de fichier sql.gz.
Vous voudrez peut-être activer le paramètre du site sauvegarde avec téléversements avant de créer une nouvelle sauvegarde dont le nom de fichier se termine par .tar.gz.
Exemple :
Désolé pour ma réponse précédente, qui était trompeuse !
Bonjour, @Canapin ! J’espère que vous allez bien ![]()
Malheureusement, nous rencontrons des problèmes pour migrer le contenu de Discourse. Précédemment, nous avions envoyé le fichier de sauvegarde en SQL au nouvel outil et l’une des erreurs qu’ils ont identifiées était la suivante :
- Il y a une bonne quantité de pièces jointes manquantes. Mes ingénieurs l’ont constaté en traitant des sujets qui référençaient des pièces jointes, mais ces pièces jointes n’étaient pas disponibles dans les exportations que vous avez fournies. Nous soupçonnons que ces pièces jointes sont sauvegardées ailleurs dans Discourse (une base de données séparée, par exemple). Pourriez-vous vérifier à nouveau s’il existe des pièces jointes supplémentaires que vous pourriez localiser et nous fournir.
Après vos instructions ici dans le sujet, j’ai sélectionné l’option pour inclure les téléchargements et généré un nouveau fichier au format .tar, mais ils ont toujours montré une erreur (image ci-dessous).
Est-il possible que les images et autres médias ne soient pas inclus dans le fichier de migration, même en sélectionnant l’option « upload » dans les paramètres de sauvegarde ? Que pourrait-il se passer ?
« Il semble qu’il y ait encore plus de 8 100 fichiers manquants. »
Manquaient-ils avant la migration ?
Vous devriez utiliser le chemin url de la table uploads pour déterminer l’emplacement des fichiers.
Vous constaterez alors probablement que ces fichiers sont stockés sur S3. Ceux-ci ne sont pas inclus dans votre sauvegarde. Votre script d’importation peut les récupérer de S3 lorsque vous en aurez besoin (ou les y laisser et simplement y faire référence).
Pour développer ma question, il existe plusieurs situations dans lesquelles vous pourriez vous trouver :
- aucun des téléchargements ne se trouve dans votre fichier de sauvegarde
- certains des téléchargements se trouvent dans votre fichier de sauvegarde
- tous les téléchargements (disponibles) se trouvent dans votre fichier de sauvegarde
et malheureusement, il n’y a aucun moyen pour nous de savoir dans lequel de ces cas vous vous trouvez.
rake posts:missing_uploads pourrait aider.
Je comprends tout à fait que vous ne souhaitiez pas parler du sujet, mais laissez-moi vous dire que je serais également très intéressé par la raison de ce déménagement, comme l’a demandé @Canapin. D’autres aimeraient probablement le savoir aussi
Ils sont juste plus polis que moi
Merci !
@supermathie @RGJ @Canapin Merci pour vos réponses ! Je vais décrire ici les étapes que nous avons suivies pour générer le fichier de sauvegarde. Merci de me faire savoir si vous constatez une mauvaise configuration.
Paramètres de sauvegarde :
L’emplacement de la sauvegarde est sur S3. Est-ce correct ou devrions-nous sélectionner l’autre option ? L’autre option est « stockage local » dans la traduction gratuite. Qu’est-ce que cela signifie ?
Après avoir effectué ces réglages, nous avons simplement téléchargé le fichier en .tar et l’avons envoyé à l’autre équipe de plateforme.
Avons-nous fait une erreur ? Avons-nous besoin de modifier quelque chose dans les paramètres de sauvegarde ? Ou l’autre équipe de plateforme a-t-elle besoin d’un accès ou d’un autre fichier ?
Désolé pour les questions, mais je n’ai pas beaucoup de connaissances techniques en matière de migrations et de scripts. Nous pensions qu’il serait facile d’exporter nativement depuis Discourse.
Salut, @Mevo ! La raison principale est l’interface et l’expérience utilisateur.
Notre communauté grandit et nous avions besoin d’une plateforme plus conviviale et intuitive.
Également quelques problèmes d’engagement utilisateur : nous avons exploré la gamification, les campagnes d’e-mails et d’autres fonctionnalités.
Merci ! Et qu’avez-vous décidé de déplacer ?
Il n’y a rien de mal avec votre fichier de sauvegarde.
Vous devriez simplement demander à l’“autre équipe de plateforme” de rechercher les fichiers dans le compartiment S3 en inspectant la colonne url dans la table uploads, au lieu d’essayer de les trouver dans le fichier de sauvegarde.
L’exportation est facile, l’importation dans un autre système ne l’est pas…
Si vous souhaitez que les fichiers S3 soient inclus dans la sauvegarde, vous devrez activer include_s3_uploads_in_backups.
Par défaut, cette option n’est pas activée car le téléchargement de toutes les téléversations depuis S3 pour les empaqueter dans une archive tar et les renvoyer peut être très long et potentiellement coûteux.
@supermathie @RGJ @Canapin Bonjour ! J’espère que vous allez bien ! J’ai encore quelques problèmes avec la migration des images. Ci-dessous, la capture d’écran des paramètres de sauvegarde actuels et les réponses de l’équipe de la plateforme Insided :
Voici des notes supplémentaires de leurs ingénieurs :
-
Dans le fichier que vous avez fourni le 17/05 (format .tar), les fichiers eux-mêmes ne sont pas inclus.
-
Par exemple, la colonne url contient une valeur : /uploads/db0693/original/2X/9/9fedfd520d43a0e03281fc4a6e636ad2116a99a3.gif. Ils peuvent ensuite localiser le fichier dans les données qu’ils ont fournies en suivant le chemin (uploads/db0693/etc). Ce fichier n’est donc pas dans le document Missing-Files.txt.
-
Une autre entrée a l’url suivante ://upload-forum-blip.s3.dualstack.us-east-1.amazonaws.com/uploads/db0693/original/2X/d/da4a7824e7a48d73c0cb8724225e5dddc111ed63.jpeg. Ici, ils ont également essayé de trouver le fichier physique en suivant le chemin dans le datadump vers (uploads/db0693/etc). Mais ce fichier ne fait pas partie des fichiers livrés et il est donc dans la liste.
-
D’après les réponses dans le fil de discussion de la communauté que vous avez lié, nous pensons que vous devrez naviguer vers votre bucket s3 (upload-forum-blip.s3.dualstack.us-east-1.amazonaws.com) et télécharger le dossier upload (et ses sous-dossiers) manuellement, en plus des fichiers qu’ils obtiennent lors de l’exportation de la sauvegarde.
Ces notes vous semblent-elles logiques ? Est-il possible qu’un membre de l’équipe de support me contacte pour exporter ces fichiers ?
Merci !
Donc ce fichier se trouve simplement à l’URL qu’ils ont trouvée (ici)
vous êtes sérieux de me dire que ces ingénieurs sont incapables de a) télécharger un fichier depuis leur script d’importation et/ou b) utiliser un outil comme S3browser ou Cyberduck pour télécharger ces fichiers ?
Vous semblez être hébergé chez Communiteq, nous évitons généralement les buckets S3 auto-gérés par nos clients mais allons-y. Ouvrez simplement un ticket auprès du support Communiteq afin que nous ayons votre autorisation enregistrée et je m’assurerai que vous obteniez un téléchargement de ces fichiers.
Mais vous pourriez devoir y réfléchir à deux fois avant de déménager là-bas si c’est le « support » que vous recevez d’eux.
Avez-vous activé include_s3_uploads_in_backups comme recommandé ?
De plus, les identifiants S3 sont juste là et pourraient être utilisés pour télécharger les fichiers.







