Hola,
Estoy intentando configurar un servidor de Discourse alojado en un par de servidores que actuarán como un par de conmutación por error; para ello, necesito que ambos se conecten a la misma base de datos. Ya tengo un servidor de PostgreSQL ejecutándose en otro lugar, así que seguí las instrucciones aquí y parece que la conexión es correcta. Sin embargo, cuando intento reconstruir la aplicación, he estado recibiendo el siguiente error:
I, [2019-07-23T17:33:20.623719 #14] INFO – : > cd /var/www/discourse && su discourse -c ‘bundle exec rake
db:migrate’
rake aborted!
StandardError: Ha ocurrido un error, esta y todas las migraciones posteriores se cancelaron:
PG::UndefinedTable: ERROR: la relación “selected” no existe
LINE 7: OR (t.closed AND tsp.execute_at >= now())
^
: WITH selected AS (
SELECT tsp.id
FROM topic_status_updates tsp
JOIN topics t
ON t.id = tsp.topic_id
WHERE tsp.execute_at < now()
OR (t.closed AND tsp.execute_at >= now())
)
UPDATE topic_status_updates
SET deleted_at = now(), deleted_by_id = -1
WHERE id in (SELECT * FROM selected)
Cuando accedo a la base de datos de Discourse, no existe ninguna tabla llamada ‘selected’. ¿Qué puedo hacer para solucionarlo? Tenía una instancia funcionando cuando estaba localmente en un solo servidor; esto solo comenzó a ocurrir después de mover la base de datos.