Nelle ultime note di rilascio (3.2.0.beta1), ho notato il plugin discourse-ai che non avevo mai visto prima, quindi ho tentato di aggiungere questo plugin e aggiornare la mia istanza di discourse contemporaneamente.
Come menzionato nel titolo, sto attualmente riscontrando un errore nel bootstrap in cui rake db:migrate non riesce a creare un indice univoco su theme_field_id. Ecco alcuni dettagli su come sono arrivato a questo punto, però…
Primo tentativo di aggiornamento (errore patch-package)
Sto eseguendo un’installazione con container separati, quindi:
-
Ho modificato il mio
web_only.ymlper aggiungere il nuovo plugindiscourse-aies. Aggiunta di una riga extra agli hook dei plugin
## I plugin vanno qui ## vedi https://meta.discourse.org/t/19157 per i dettagli hooks: after_code: - exec: cd: $home/plugins cmd: - sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git - sudo -E -u discourse git clone https://github.com/discourse/discourse-voting.git - sudo -E -u discourse git clone https://github.com/discourse/discourse-ai.git -
Ho eseguito
./launcher bootstrap web_only
Si è verificato un errore con un messaggio relativo a patch-package non trovato.
Git Pull → bootstrap (errore pg-vector)
Ho pensato di assicurarmi di avere gli ultimi aggiornamenti del launcher, dato che non avrebbe fatto male prima di riprovare:
- Ho eseguito un
git pullper assicurarmi di avere gli ultimi aggiornamenti relativi al launcher - Ho eseguito nuovamente
./launcher bootstrap web_only
Questa volta ho ricevuto messaggi di errore relativi a pg-vector.
Ho annotato le mie versioni di PostgreSQL in modo da averle per i miei archivi quando deciderò di rivisitare il plugin discourse-ai.
- web_only:
- client:
psql (PostgreSQL) 13.10 (Debian 13.10-1.pgdg110+1)
- client:
- data:
- server:
PostgreSQL 13.9 (Debian 13.9-1.pgdg110+1)
- server:
Rimozione del plugin discourse-ai → Bootstrap
E poi ho rimosso il plugin discourse-ai dal file web_only.yml ed ho eseguito nuovamente un bootstrap.
Con mia grande sorpresa, stavo ancora riscontrando errori, ma questa volta sembrano essere correlati a rake db:migrate che non è in grado di creare un indice univoco index_javascript_caches_on_theme_field_id con il dettaglio: Key (theme_field_id)=(3) is duplicated.
Il vostro aiuto? 
Questo mi porta qui a cercare aiuto. Ho pensato che fosse meglio fare una pausa e ottenere alcuni spunti dalla community prima di approfondire ulteriormente, nel caso in cui qualcun altro abbia già riscontrato questo problema.
Come riferimento, ho installato la versione 3.2.0.beta1-dev (993ed10cf0 ~ 9 agosto).
E anche se non penso che sia correlato a questo, immagino che non faccia male menzionare che ho migrato tra host all’inizio di quest’anno… anche se da allora ho effettuato diversi aggiornamenti di Discourse tramite l’interfaccia di amministrazione.
Approccio alla migrazione
A memoria, questo è stato fondamentalmente l’aggiornamento dell’istanza sorgente alla versione più recente di Discourse, l’installazione di Discourse sul nuovo host, il congelamento della sorgente, un backup di Discourse sulla sorgente, il trasferimento di immagini/ecc. tra gli host tramite rsync, il ripristino del backup sul nuovo host.