Aquí hay uno que no logro resolver después de muchas instalaciones y migraciones impecables de Discourse.
Antecedentes:
Teníamos Discourse funcionando correctamente en un contenedor Docker y estábamos trabajando en algunos matices de la base de datos PostgreSQL.
El problema ocurrió cuando no quedamos satisfechos con los resultados de la regeneración de publicaciones crudas, y por lo tanto, nada funcionaba según lo planeado, así que decidimos eliminar la base de datos PostgreSQL y volver a crearla; pero la aplicación seguía dando varios errores de permisos, etc.
Entonces, decidimos “ir a lo duro” y optamos por destruirlo en un estilo de “qué más da”; y simplemente entramos en PostgreSQL (sabiendo que esto no saldría bien, pero queriendo intentarlo) y eliminamos todos los temas y publicaciones de la base de datos (DELETE FROM topics; DELETE FROM posts;). Esto funcionó en cierta medida; pero no quedamos satisfechos con los resultados (la experiencia terminó), así que decidimos reconstruir Discourse desde cero, moviendo el antiguo /var/discourse a un lado y obteniendo una versión fresca desde git para empezar de nuevo.
El problema
Cuando construimos totalmente nuevo desde una descarga de git, la construcción funcionó bien hasta el punto en que fuimos al sitio para crear el inicio de sesión de administrador.
Cuando fuimos al inicio de sesión de administrador para una instalación nueva, ¡era el sitio antiguo que habíamos destruido! Esto fue una sorpresa.
Así que decidimos entrar en esta nueva aplicación e intentar eliminar todas las tablas de Discourse de la base de datos, lo cual hicimos; pero, sorpresa, cuando volvimos a construir la aplicación, no era un sitio nuevo, sino el mismo sitio roto mencionado anteriormente.
Entonces, eliminamos todos los directorios /var/*discourse*; y eliminamos todas las imágenes de Docker, pensando que esto sería totalmente limpio, y comenzamos de nuevo descargando desde git a /var/discourse y construyendo desde lo que pensábamos que era totalmente desde cero; pero sorpresa… el sitio antiguo sigue ahí.
Pensando: “¿cómo es posible esto”…??
Hicimos un ps aux | grep postgres fuera del contenedor Docker y notamos que PostgreSQL existía fuera del contenedor (lo cual fue una sorpresa, ya que erróneamente pensábamos que la instalación de Discourse en Docker estaba todo dentro del contenedor); y entonces intentamos encontrar dónde limpiar, pero sin éxito.
Buscamos hasta que los enlaces de Google se volvieron morados, y probamos tanto… pero no podemos obtener una instalación limpia de Discourse.
Pensando que nos estaba faltando algo, nos pusimos en un servidor nuevo, nunca con Discourse instalado, e instalamos Discourse desde cero, y funcionó impecablemente como de costumbre (otro servidor).
La pregunta
Mi pregunta es, supongo… cuando una instalación se ha salido totalmente de los cauces (por un medio u otro), ¿cómo hacemos para devolver el servidor, incluida PostgreSQL, al punto cero para que este problema desaparezca y podamos tener una instalación completamente nueva y fresca?
Disculpen por una publicación tan larga, cuando La pregunta podría haber sido suficiente para obtener ayuda.
Gracias.