Yo tuve este mismo problema y ejecutar ese script requirió un poco de orientación desde ask.discourse.com, ya que no es muy fácil para administradores de sistemas con menos experiencia.
Aquí hay un resumen para los demás:
Para quienes se encuentren con esto en la instalación estándar de Docker, así es como se ejecuta realmente el script anterior.
Obtén una shell y abre psql.
-
Contenedor único:
cd /var/discourse ./launcher start app ## Solo necesario si ya has tenido un rebuild fallido ./launcher enter app su -c 'psql discourse' postgres -
Configuración de dos contenedores:
cd /var/discourse ./launcher enter data su -c 'psql discourse' postgres
Deberías ver un prompt discourse=#. Si tienes dudas, ejecuta \conninfo.
Ejecuta el script.
Pega todo el bloque DO $$ ... $$; de la publicación de nat arriba en el prompt y presiona Enter. Una ejecución exitosa imprime avisos como:
NOTICE: Renamed resenha_rooms to voice_rooms
NOTICE: Renamed resenha_room_memberships to voice_room_memberships
...
Si en su lugar lanza una excepción (p. ej. «Both Resenha and Voice tables exist. Nothing was changed.»), detente y pega el mensaje de vuelta aquí — el script está diseñado para ser seguro y no cambia nada en ese caso.
Sal y reconstruye.
\q
exit
y luego, de vuelta en el host:
./launcher rebuild app # contenedor único
./launcher rebuild web_only # dos contenedores (también se puede hacer a través de bootstrap, por supuesto)
Puede que necesites dos reconstrucciones: la primera finaliza el estado de migración aplicado a medias y la segunda se completa limpiamente.