La actualización de 2.9.0.beta2 a 2.9.0.beta4 falló con el mensaje de error PG::DuplicateColumn: ERROR: column \"bookmarkable_id\" of relation \"bookmarks\" already exists. El consejo en Recovering from failed/partially applied upgrade me ayudó a volver a estar en línea. Estoy iniciando un nuevo tema porque este problema parece ser específicamente sobre una instalación multisitio (dockerizada).
El problema parece ser que multisite:migrate intenta ejecutar de nuevo la misma migración que ya se ejecutó como parte de las migraciones anteriores. El resultado fue PG::DuplicateColumn: ERROR: column \"bookmarkable_id\" of relation \"bookmarks\" already exists. Basado en el mensaje de error, esto podría estar relacionado con la característica de marcadores polimórficos, https://github.com/discourse/discourse/pull/16261 (¿ping @martin?).
Después de encontrar el problema, mi solución rápida y sucia fue:
Comentar la línea - exec: cd /var/www/discourse \u0026\u0026 sudo -E -u discourse bundle exec rake multisite:migrate en el archivo de configuración containers/web_only.yml.
Eliminar manualmente las migraciones (¿parcialmente aplicadas?) relacionadas con los marcadores: ./launcher enter data y usar psql para iniciar sesión en mis bases de datos de Discourse y ejecutar ALTER TABLE bookmarks DROP COLUMN bookmarkable_id, DROP COLUMN bookmarkable_type;
Volver a ejecutar la reconstrucción: ./launcher rebuild web_only 2\u003e\u00261
¿Qué podría estar perdiendo ahora que multisite:migrate no se ejecutó? Agradecería cualquier comentario. Ambos sitios parecen funcionar de todos modos.
¿Alguna idea de por qué harías eso? ¿O alguna pista sobre qué esperar al ejecutar la migración multisitio? Verás, tengo aversión a ejecutar scripts que no entiendo.
Porque al menos sabes más o menos cómo arreglarlo y lo olvidarás por completo cuando actualices la próxima vez (si eres como yo). Estoy bastante seguro de que funcionará, ya que creo que eso es lo que otros han visto cuando solucionaron este problema.