Je suis bloqué lors de la mise à niveau d’une instance Discourse Docker. Je rencontre l’erreur suivante lorsque j’essaie de reconstruire, d’amorcer ou de configurer le conteneur de toute autre manière :
I, [2020-11-18T15:23:37.357104 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake plugin:pull_compatible_all'
I, [2020-11-18T15:23:40.298932 #1] INFO -- : discourse-slack-official est déjà à la dernière version compatible
docker_manager est déjà à la dernière version compatible
I, [2020-11-18T15:23:40.299193 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted !
StandardError : Une erreur s'est produite, toutes les migrations ultérieures ont été annulées :
PG::SyntaxError : ERREUR : erreur de syntaxe près de « NOT »
LINE 2: ADD COLUMN IF NOT EXISTS image_upload_id bigint
^
Comment puis-je procéder pour corriger ou mettre à jour mon installation Discourse ? Le chemin de mise à jour est incorrect et je me bats maintenant pour remettre les forums en ligne dès que possible !
Note supplémentaire : la branche pg12 ne fonctionne pas non plus (même si elle semble tenter de télécharger une version différente du conteneur), je rencontre toujours la même erreur lors de db:migrate…
Quelle est l’ancienneté de votre checkout discourse_docker ? Je sais que le script launcher est censé se mettre à jour automatiquement, mais il pourrait être utile d’exécuter git pull manuellement pour en être sûr.
$ git branch -v
* master 4a4b0f8 DOCS : correction d'une erreur de syntaxe dans le readme
Et il semble que j’aie la dernière image :
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
discourse/base 2.0.20201004-2310 b64c37d7ab06 6 semaines 2,4 Go
local_discourse/data latest 253fd4d68068 3 ans 1,7 Go
Je me suis assuré de supprimer les anciennes images Docker et j’ai tenté de reconstruire l’application web à plusieurs reprises.
Ah, dois-je d’abord reconstruire le conteneur data ou autre chose ? Je ne l’ai pas encore touché.
Oh, vous utilisez la configuration de données avancée ?
Vous devez arrêter le service web et reconstruire les données pour mettre à jour tous les logiciels de données. Il y a une section dédiée à cela sur PostgreSQL 12 update