J’ai essayé de mettre à niveau Discourse et j’ai obtenu le message suivant -
I, [2021-01-21T18:39:25.045454 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
2021-01-21 18:39:32.724 UTC [4051] discourse@discourse LOG: duration: 336.116 ms statement: UPDATE users
SET locale = 'en_GB'
WHERE locale = 'en'
2021-01-21 18:39:33.373 UTC [4051] discourse@discourse ERROR: duplicate key value violates unique constraint "index_users_on_username_lower"
2021-01-21 18:39:33.373 UTC [4051] discourse@discourse DETAIL: Key (username_lower)=(xyz123) already exists.
2021-01-21 18:39:33.373 UTC [4051] discourse@discourse STATEMENT: UPDATE users
SET locale = 'en'
WHERE locale = 'en_US'
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
J’ai essayé d’exécuter ./launcher enter app et su postgres -c 'psql discourse', mais j’ai obtenu l’erreur suivante -
psql: error: could not connect to server: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket “/var/run/postgresql/.s.PGSQL.5432”?
Lorsqu’une mise à niveau échoue, le conteneur reste arrêté. (Essayez de vous connecter à votre site via un navigateur, et vous verrez que c’est bien le cas.)
Il se peut donc que vous n’ayez tout simplement pas démarré le dernier conteneur fonctionnel. (Avant la mise à niveau)
Faites-le avec ./launcher start app, puis accédez au conteneur et essayez de vous connecter à l’interface de ligne de commande de la base de données.
Merci, j’ai redémarré le conteneur, avez-vous une idée ? J’ai essayé ./launcher enter app, y a-t-il autre chose que je puisse essayer ?
ubuntu@:/var/discourse$ ./launcher start app
AVERTISSEMENT : La version de Docker 17.05.0-ce est obsolète …
Rien à faire, votre conteneur est déjà démarré !
root@ip–app:/var/www/discourse# cat /var/log/postgresql/postgresql-12-main.log
2021-01-21 18:12:04.965 UTC [623] FATAL: les fichiers de base de données sont incompatibles avec le serveur
2021-01-21 18:12:04.965 UTC [623] DETAIL: Le répertoire de données a été initialisé par la version 13 de PostgreSQL, qui n’est pas compatible avec cette version 12.3 (Debian 12.3-1.pgdg100+1).
pg_ctl: impossible de démarrer le serveur
Examinez la sortie du journal.