Olá,
Estou tentando configurar um servidor Discourse hospedado em um par de servidores que atuarão como um par de failover — para isso, preciso que eles se conectem ao mesmo banco de dados. Já tenho um servidor PostgreSQL rodando em outro local, então segui as instruções aqui e parece que a conexão está OK. No entanto, ao tentar reconstruir a aplicação, estou recebendo o seguinte erro:
I, [2019-07-23T17:33:20.623719 #14] INFO – : > cd /var/www/discourse && su discourse -c ‘bundle exec rake
db:migrate’
rake aborted!
StandardError: Ocorreu um erro, e todas as migrações posteriores foram canceladas:
PG::UndefinedTable: ERRO: a relação “selected” não existe
LINHA 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)
Quando acesso o banco de dados do Discourse, não há nenhuma tabela chamada ‘selected’. O que posso fazer para corrigir isso? Eu tinha uma instância funcionando quando estava rodando localmente em um único servidor — isso só começou a acontecer depois que movi o banco de dados.