En las últimas notas de la versión (3.2.0.beta1), noté el plugin discourse-ai que no había visto antes, así que intenté agregar este plugin y actualizar mi instancia de Discourse al mismo tiempo.
Como se menciona en el título, actualmente estoy viendo un error en el arranque donde rake db:migrate no puede crear un índice único en theme_field_id. Aquí hay algunos detalles sobre cómo llegué a ese punto…
Intento de actualización inicial (error de patch-package)
Estoy ejecutando una instalación de contenedor dividida, así que:
-
Edité mi
web_only.ymlpara agregar el nuevo plugindiscourse-aipor ejemplo, Añadí una línea extra a los hooks de plugins
## Los plugins van aquí ## ver https://meta.discourse.org/t/19157 para detalles 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 -
Ejecuté
./launcher bootstrap web_onlyFalló con un mensaje sobre que
patch-packageno se encontraba.
Git Pull → bootstrap (error de pg-vector)
Pensé que me aseguraría de tener las últimas actualizaciones del lanzador, ya que no haría daño antes de volver a intentarlo:
- Ejecuté un
git pullpara asegurarme de tener las últimas actualizaciones relacionadas con el lanzador - Ejecuté
./launcher bootstrap web_onlyde nuevo
Esta vez recibí mensajes de error relacionados con pg-vector.
Anoté mis versiones de PostgreSQL para tenerlas para mis registros cuando decidiera volver a visitar el plugin discourse-ai.
- web_only:
- cliente:
psql (PostgreSQL) 13.10 (Debian 13.10-1.pgdg110+1)
- cliente:
- data:
- servidor:
PostgreSQL 13.9 (Debian 13.9-1.pgdg110+1)
- servidor:
Eliminar el plugin discourse-ai → Bootstrap
Y luego eliminé el plugin discourse-ai del archivo web_only.yml y volví a ejecutar un arranque.
Sorprendentemente, todavía estaba viendo errores, pero esta vez parecen estar relacionados con que rake db:migrate no puede crear un índice único index_javascript_caches_on_theme_field_id con el detalle: Key (theme_field_id)=(3) is duplicated.
¿Tu ayuda? 
Eso me trae aquí buscando ayuda. Pensé que debería hacer una pausa y obtener algunas ideas de la comunidad antes de profundizar más, en caso de que alguien más haya visto esto antes.
Como referencia, tengo instalado 3.2.0.beta1-dev (993ed10cf0 ~ 9 de agosto).
Y aunque no creo que esté relacionado con esto, creo que no hace daño mencionar que migré entre máquinas host a principios de este año… aunque he realizado varias actualizaciones de Discourse a través de la interfaz de administración desde entonces.
Enfoque de migración
Según recuerdo, esto fue básicamente actualizar la instancia de origen a la última versión de Discourse, instalar Discourse en el nuevo host, congelar el origen, hacer una copia de seguridad de Discourse en el origen, rsync imágenes/etc entre hosts, restaurar la copia de seguridad en el nuevo host.