L’aggiornamento da 2.9.0.beta2 a 2.9.0.beta4 è fallito con il messaggio di errore PG::DuplicateColumn: ERROR: column "bookmarkable_id" of relation "bookmarks" already exists. Il consiglio in Recovering from failed/partially applied upgrade mi ha aiutato a tornare online. Sto aprendo un nuovo argomento perché questo problema sembra essere specificamente relativo a un’installazione multisito (dockerizzata).
Il problema sembra essere che multisite:migrate sta cercando di eseguire nuovamente la stessa migrazione che era già stata eseguita come parte delle migrazioni precedenti. Il risultato è stato PG::DuplicateColumn: ERROR: column "bookmarkable_id" of relation "bookmarks" already exists. Sulla base del messaggio di errore, questo potrebbe essere correlato alla funzionalità dei segnalibri polimorfici, DEV: Re-add polymorphic bookmark columns by martin-brennan · Pull Request #16261 · discourse/discourse · GitHub (ping @martin?).
Dopo aver riscontrato il problema, la mia soluzione rapida e sporca è stata:
- Commentare la riga
- exec: cd /var/www/discourse \u0026\u0026 sudo -E -u discourse bundle exec rake multisite:migratenel file di configurazionecontainers/web_only.yml. - Eliminare manualmente le migrazioni (parzialmente applicate?) relative ai segnalibri:
./launcher enter datae utilizzarepsqlper accedere a entrambi i miei database Discourse ed eseguireALTER TABLE bookmarks DROP COLUMN bookmarkable_id, DROP COLUMN bookmarkable_type; - Rieseguire la ricostruzione:
./launcher rebuild web_only 2\u003e\u00261
Cosa potrei star perdendo ora che multisite:migrate non è stato eseguito? Apprezzerei qualsiasi pensiero. Entrambi i siti sembrano funzionare, comunque. ![]()