Demande d'amélioration pour le script d'importation phpBB3

J’ai aussi essayé ceci :

root@vps116136-import:/var/www/discourse/config# su discourse -c “bundle exec rake db:drop”
exec: line 1: “bundle: commande introuvable”

Désolé, j’aurais dû anticiper ces vérifications.

Essayez d’exécuter la commande drop avec cette variable d’environnement :

cd /var/discourse
./launcher enter <votre-nom-de-conteneur>

su discourse
DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:drop

Celui-ci n’a pas fonctionné parce que vous n’étiez pas dans le répertoire où se trouve le Gemfile du projet, dans votre cas : /var/www/discourse.

Une note rapide : la manière la plus simple aurait été d’avoir une sauvegarde dès le tout premier démarrage du forum, vous n’auriez alors qu’à la restaurer avant d’essayer d’importer à nouveau, mais en supposant que vous n’en aviez pas, il nous restait cette réinitialisation logicielle.

Toujours rien.

root@vps116136-import:/var/www/discourse# su discourse
discourse@vps116136-import:/var/www/discourse$ DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:drop
PG::InsufficientPrivilege: ERROR:  must be owner of database discourse
Couldn’t drop database ‘discourse’
rake aborted!
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ERROR:  must be owner of database discourse (ActiveRecord::StatementInvalid)

…

J’essaie maintenant en tant que root…

1 « J'aime »

Non.

root@vps116136-import:/var/www/discourse# DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:drop
fatal: ownership douteuse détectée dans le dépôt à ‘/var/www/discourse’
Pour ajouter une exception pour ce répertoire, appelez :

    git config --global --add safe.directory /var/www/discourse

rake avorté!

Oubliez mes premières instructions :smiling_face_with_tear:

  1. Utilisez docker cp pour copier votre dernière sauvegarde hors du conteneur. Les sauvegardes se trouvent dans /shared/backups/default.
  2. Supprimez le dossier partagé de votre répertoire d’installation (l’endroit où vous exécutez ./launcher) : rm -rf /var/discourse/shared
  3. Reconstruisez le conteneur en utilisant ./launcher rebuild <nom-du-conteneur>.

Cela devrait fonctionner, mais faites attention à ne pas perdre votre sauvegarde. J’essayais d’éviter de le suggérer pour que vous ne supprimiez pas accidentellement votre sauvegarde, mais cela semble être la seule voie à suivre.

Ça va prendre un certain temps. Le fichier tar.gz fait 15 Go.

1 « J'aime »

En fait, ça va prendre…

200

C’est fait .5GB depuis que j’ai commencé.

1 « J'aime »

Terminé.

Fait.

Terminé. Prêt à exécuter le script d’importation, mais…

/var/discourse/shared/standalone/import
├── data
├── mysql
└── settings.yml

J’ai fait ça :index_pointing_up: en l’air, n’est-ce pas.

1 « J'aime »

Oui.

Je suppose que vous avez créé un volume pour votre conteneur mysql à l’intérieur du dossier partagé. Si oui, malheureusement, vous devrez redémarrer le conteneur et restaurer la base de données à nouveau.
Vous pouvez simplement copier les pièces jointes.
Le fichier settings.yml ne devrait pas être si difficile à reconfigurer.

Je ne suis pas sûr de ce que signifie redémarrer un conteneur. La première fois, j’ai placé phpbb_mysql.sql dans le répertoire mysql selon ces instructions. Y a-t-il plus à faire que cela ?

Les pièces jointes, vous pouvez simplement les copier.

Oui. Sauf que le tar.gz fait 15 Go parce qu’il y a 45 Go de données dans le répertoire phpBB /files. J’utilise mon forum depuis 22 ans, vous savez ! Donc oui, je vais les copier à nouveau. Mais probablement, ce sera demain avant que je ne m’en occupe à nouveau.

1 « J'aime »

Oui, c’est la nature des migrations communautaires. Un bon conseil serait de commencer par un échantillon plus petit et une fois que vous maîtrisez le processus, vous pouvez effectuer une importation complète.

Des efforts sont en cours pour rendre les outils plus flexibles et le processus moins redondant, mais c’est un sujet très complexe.

J’espère que tout se passera bien lors de votre tentative demain.

D’accord ! Mais phpBB ne facilite pas la réduction de la taille de l’échantillon. Je suis un peu coincé avec ce que j’ai. Cependant, c’était un environnement de test, et rien n’est irrécupérable.

Merci ! Je vous tiendrai au courant ici. Au fait, maintenant que je suis un expert en docker cp :zany_face: , serait-ce un gros problème de modifier le script ruby pour afficher l’post_id de phpBB lorsque quelque chose comme ceci se produit ?

8000 / 24451 ( 32.7%) [677 items/min] W, [2026-01-13T02:50:22.466363 #25640] WARN – : Bad date/time value “0000:00:00 00:00:00”: mon out of range
W, [2026-01-13T02:50:22.466500 #25640] WARN – : Bad date/time value “0000:00:00 00:00:00”: mon out of range
W, [2026-01-13T02:50:22.466600 #25640] WARN – : Bad date/time value “0000:00:00 00:00:00”: mon out of range